Some checks failed
FreeCAD master CI / Prepare (push) Has been cancelled
FreeCAD master CI / Pixi (push) Has been cancelled
FreeCAD master CI / Ubuntu (push) Has been cancelled
FreeCAD master CI / Windows (push) Has been cancelled
FreeCAD master CI / Lint (push) Has been cancelled
FreeCAD master CI / WrapUp (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
Stale Issues / stale (push) Has been cancelled
20 lines
1.0 KiB
Markdown
20 lines
1.0 KiB
Markdown
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.
|