An official mirror (for now...) of the FreeCAD project. Currently maintained in sync manually by Yorik. Please check https://www.freecadweb.org for issues and pull requests https://www.freecadweb.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Jose Luis Cercos-Pita 9a7bf3abff Prefer QtWebEngine over QtWebKit 1 month ago
..
CMakeLists.txt Cleaned up a debug message and removed legacy file. 2 years ago
CheckInterModuleDependencies.cmake Remove Ship module 5 months ago
CompilerChecksAndSetups.cmake Drop build-system support for Qt4 and Python 2 9 months ago
ConfigureCMakeVariables.cmake Move logic out of CMakeLists.txt 2 years ago
CreatePackagingTargets.cmake dist-git: make script working again for Py3 and Linux 1 month ago
FreeCADLibpackChecks.cmake clean-up FreeCADLibpackChecks.cmake 2 years ago
InitializeFreeCADBuildOptions.cmake Enable plot module by default 4 months ago
PrintFinalReport.cmake Add output of Pivy version 9 months ago
README.md Move logic out of CMakeLists.txt 2 years ago
SetGlobalCompilerAndLinkerSettings.cmake port to MSYS2/clang 3 months ago
SetLibraryVersions.cmake Move logic out of CMakeLists.txt 2 years ago
SetupBoost.cmake [Core] Add library dependency for boost date_time 2 months ago
SetupCoin3D.cmake Move logic out of CMakeLists.txt 2 years ago
SetupDoxygen.cmake Doc: [skip ci] fix check for doxygen 2 years ago
SetupEigen.cmake clang/gcc/cmake: move handling of suppressed deprecated-copy warnings from source file to CMake file to more easily support gcc 10 2 years ago
SetupFreeType.cmake Move logic out of CMakeLists.txt 2 years ago
SetupMatplotlib.cmake CMake: Fix find Matplotlib 9 months ago
SetupOpenCasCade.cmake Move logic out of CMakeLists.txt 2 years ago
SetupOpenGL.cmake Move logic out of CMakeLists.txt 2 years ago
SetupPCL.cmake when using pcl do not allow it to override compiler flags 2 years ago
SetupPybind11.cmake Move logic out of CMakeLists.txt 2 years ago
SetupPython.cmake CMake: Fix find Matplotlib 9 months ago
SetupQt.cmake Prefer QtWebEngine over QtWebKit 1 month ago
SetupSalomeSMESH.cmake improve search for VTK-9 3 months ago
SetupShibokenAndPyside.cmake Modify Python checks when cMake >= 3.12 9 months ago
SetupSpaceball.cmake Move logic out of CMakeLists.txt 2 years ago
SetupSwig.cmake Move logic out of CMakeLists.txt 2 years ago
SetupXercesC.cmake Move logic out of CMakeLists.txt 2 years ago

README.md

This folder will contain an individual cmake file for each FreeCAD "helper".

A "helper" should be a macro or function that tries (as much as possible) to adhere to the UNIX philosophy - in other words, it should strive to do one thing and do it well.

The idea here is to break up the cmake build system into smaller, more manageable chunks. This should make maintenance easier, and should also make troubleshooting a bit less painful. Finally, it should also clean up our top-level CMakeLists.txt file a bit, making it bit easier for new developers to jump in and see what's what.

NOTE: CMake has a very distinct difference between its macros and its functions. Namely, a function creates its own SCOPE, whereas a macro essentially executes in the calling scope. There are also some specifics of how arguments are managed.

In general:

  1. If you use a macro, be careful modifying arguments - you may get surprises.
  2. If you use a function, make sure to use set(.... PARENT_SCOPE) for variables that should be available outside of the function.