From 01123ba30d392ca61e635296059ae3ff91a81bc0 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 15 Mar 2014 14:02:35 +0100 Subject: [PATCH] + fixes #0001399: Only build Salome Mesh when necessary --- CMakeLists.txt | 133 ++++++++++++++++++++++++++++++++++++ src/3rdParty/CMakeLists.txt | 4 +- src/Mod/CMakeLists.txt | 131 ----------------------------------- 3 files changed, 136 insertions(+), 132 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 05e02ff86677..b644113c6f2f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,6 +156,139 @@ if (FREECAD_BUILD_DEBIAN) set(FREECAD_USE_EXTERNAL_PIVY ON) endif (FREECAD_BUILD_DEBIAN) +# ============================================================================== +#inter-module dependencies + +#took these from Mod/Complete/App/AppComplete.cpp. appears to be working. +if(FREECAD_BUILD_COMPLETE) + set(FREECAD_BUILD_MESH ON) + set(FREECAD_BUILD_POINTS ON) + set(FREECAD_BUILD_DRAWING ON) + set(FREECAD_BUILD_RAYTRACING ON) + set(FREECAD_BUILD_PART_DESIGN ON) + set(FREECAD_BUILD_IMAGE ON) + set(FREECAD_BUILD_DRAFT ON) +endif(FREECAD_BUILD_COMPLETE) + +#inferred from .py files. appears to be working. +if(FREECAD_BUILD_ARCH) + set(FREECAD_BUILD_PART ON) + set(FREECAD_BUILD_MESH ON) + set(FREECAD_BUILD_DRAFT ON) +endif(FREECAD_BUILD_ARCH) + +#inferred from .py files. appears to be working. +if(FREECAD_BUILD_OPENSCAD) + set(FREECAD_BUILD_MESH_PART ON) + set(FREECAD_BUILD_DRAFT ON) +endif(FREECAD_BUILD_OPENSCAD) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_INSPECTION) + set(FREECAD_BUILD_MESH ON) + set(FREECAD_BUILD_POINTS ON) + set(FREECAD_BUILD_PART ON) +endif(FREECAD_BUILD_INSPECTION) + +#inferred from .py files. appears to be working. +if(FREECAD_BUILD_SHIP) + set(FREECAD_BUILD_PART ON) + set(FREECAD_BUILD_PLOT ON) + set(FREECAD_BUILD_IMAGE ON) +endif(FREECAD_BUILD_SHIP) + +#inferred from .py files. appears to be working. +if(FREECAD_BUILD_SPREADSHEET) + set(FREECAD_BUILD_DRAFT ON) +endif(FREECAD_BUILD_SPREADSHEET) + +#this has been tested. appears to be working. +if(FREECAD_BUILD_DRAFT) + set(FREECAD_BUILD_SKETCHER ON) +endif(FREECAD_BUILD_DRAFT) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_PART_DESIGN) + set(FREECAD_BUILD_SKETCHER ON) +endif(FREECAD_BUILD_PART_DESIGN) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_REVERSEENGINEERING) + set(FREECAD_BUILD_PART ON) + set(FREECAD_BUILD_MESH ON) +endif(FREECAD_BUILD_REVERSEENGINEERING) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_MESH_PART) + set(FREECAD_BUILD_PART ON) + set(FREECAD_BUILD_MESH ON) + set(FREECAD_BUILD_SMESH ON) +endif(FREECAD_BUILD_MESH_PART) + +#inferred from cmakelists.txt. build errors. obsolete? +if(FREECAD_BUILD_CAM) + set(FREECAD_BUILD_PART ON) + set(FREECAD_BUILD_MESH ON) +endif(FREECAD_BUILD_CAM) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_RAYTRACING) + set(FREECAD_BUILD_PART ON) +endif(FREECAD_BUILD_RAYTRACING) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_DRAWING) + set(FREECAD_BUILD_PART ON) +endif(FREECAD_BUILD_DRAWING) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_ROBOT) + set(FREECAD_BUILD_PART ON) +endif(FREECAD_BUILD_ROBOT) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_SKETCHER) + set(FREECAD_BUILD_PART ON) +endif(FREECAD_BUILD_SKETCHER) + +#inferred from .py files. built, but not sure how to test. +if(FREECAD_BUILD_IDF) + set(FREECAD_BUILD_PART ON) +endif(FREECAD_BUILD_IDF) + +#inferred from cmakelists.txt. built, but not sure how to test. +if(FREECAD_BUILD_IMPORT) + set(FREECAD_BUILD_PART ON) +endif(FREECAD_BUILD_IMPORT) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_FEM) + set(FREECAD_BUILD_PART ON) + set(FREECAD_BUILD_SMESH ON) +endif(FREECAD_BUILD_FEM) + +#inferred from cmakelists.txt. appears to be working. +if(FREECAD_BUILD_SANDBOX) + set(FREECAD_BUILD_PART ON) + set(FREECAD_BUILD_MESH ON) +endif(FREECAD_BUILD_SANDBOX) + +#inferred from header includes. not tested. +if(FREECAD_BUILD_JTREADER) + set(FREECAD_BUILD_MESH ON) +endif(FREECAD_BUILD_JTREADER) + +#leaving test module for someone else. +#image has none. as far as I can tell. +#mesh has none. as far as I can tell. +#part has none. as far as I can tell. +#material has none. as far as I can tell. +#web has none. as far as I can tell. +#start has none. as far as I can tell. +#assembly has none. as far as I can tell. +#plot has none. as far as I can tell. +#points has none. as far as I can tell + # ============================================================================== if(FREECAD_LIBPACK_USE) diff --git a/src/3rdParty/CMakeLists.txt b/src/3rdParty/CMakeLists.txt index 520661f9ca9c..1804280f4bcd 100644 --- a/src/3rdParty/CMakeLists.txt +++ b/src/3rdParty/CMakeLists.txt @@ -35,5 +35,7 @@ if(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY) endif(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY) # Build SalomeMesh for all Platforms since heavily patched -add_subdirectory(salomesmesh) +if (FREECAD_BUILD_SMESH) + add_subdirectory(salomesmesh) +endif(FREECAD_BUILD_SMESH) diff --git a/src/Mod/CMakeLists.txt b/src/Mod/CMakeLists.txt index 92fb34259d59..72becca9bc1b 100644 --- a/src/Mod/CMakeLists.txt +++ b/src/Mod/CMakeLists.txt @@ -1,134 +1,3 @@ -#inter-module dependencies - -#took these from Mod/Complete/App/AppComplete.cpp. appears to be working. -if(FREECAD_BUILD_COMPLETE) - set(FREECAD_BUILD_MESH ON) - set(FREECAD_BUILD_POINTS ON) - set(FREECAD_BUILD_DRAWING ON) - set(FREECAD_BUILD_RAYTRACING ON) - set(FREECAD_BUILD_PART_DESIGN ON) - set(FREECAD_BUILD_IMAGE ON) - set(FREECAD_BUILD_DRAFT ON) -endif(FREECAD_BUILD_COMPLETE) - -#inferred from .py files. appears to be working. -if(FREECAD_BUILD_ARCH) - set(FREECAD_BUILD_PART ON) - set(FREECAD_BUILD_MESH ON) - set(FREECAD_BUILD_DRAFT ON) -endif(FREECAD_BUILD_ARCH) - -#inferred from .py files. appears to be working. -if(FREECAD_BUILD_OPENSCAD) - set(FREECAD_BUILD_MESH_PART ON) - set(FREECAD_BUILD_DRAFT ON) -endif(FREECAD_BUILD_OPENSCAD) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_INSPECTION) - set(FREECAD_BUILD_MESH ON) - set(FREECAD_BUILD_POINTS ON) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_INSPECTION) - -#inferred from .py files. appears to be working. -if(FREECAD_BUILD_SHIP) - set(FREECAD_BUILD_PART ON) - set(FREECAD_BUILD_PLOT ON) - set(FREECAD_BUILD_IMAGE ON) -endif(FREECAD_BUILD_SHIP) - -#inferred from .py files. appears to be working. -if(FREECAD_BUILD_SPREADSHEET) - set(FREECAD_BUILD_DRAFT ON) -endif(FREECAD_BUILD_SPREADSHEET) - -#this has been tested. appears to be working. -if(FREECAD_BUILD_DRAFT) - set(FREECAD_BUILD_SKETCHER ON) -endif(FREECAD_BUILD_DRAFT) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_PART_DESIGN) - set(FREECAD_BUILD_SKETCHER ON) -endif(FREECAD_BUILD_PART_DESIGN) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_REVERSEENGINEERING) - set(FREECAD_BUILD_PART ON) - set(FREECAD_BUILD_MESH ON) -endif(FREECAD_BUILD_REVERSEENGINEERING) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_MESH_PART) - set(FREECAD_BUILD_PART ON) - set(FREECAD_BUILD_MESH ON) -endif(FREECAD_BUILD_MESH_PART) - -#inferred from cmakelists.txt. build errors. obsolete? -if(FREECAD_BUILD_CAM) - set(FREECAD_BUILD_PART ON) - set(FREECAD_BUILD_MESH ON) -endif(FREECAD_BUILD_CAM) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_RAYTRACING) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_RAYTRACING) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_DRAWING) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_DRAWING) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_ROBOT) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_ROBOT) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_SKETCHER) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_SKETCHER) - -#inferred from .py files. built, but not sure how to test. -if(FREECAD_BUILD_IDF) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_IDF) - -#inferred from cmakelists.txt. built, but not sure how to test. -if(FREECAD_BUILD_IMPORT) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_IMPORT) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_FEM) - set(FREECAD_BUILD_PART ON) -endif(FREECAD_BUILD_FEM) - -#inferred from cmakelists.txt. appears to be working. -if(FREECAD_BUILD_SANDBOX) - set(FREECAD_BUILD_PART ON) - set(FREECAD_BUILD_MESH ON) -endif(FREECAD_BUILD_SANDBOX) - -#inferred from header includes. not tested. -if(FREECAD_BUILD_JTREADER) - set(FREECAD_BUILD_MESH ON) -endif(FREECAD_BUILD_JTREADER) - -#leaving test module for someone else. -#image has none. as far as I can tell. -#mesh has none. as far as I can tell. -#part has none. as far as I can tell. -#material has none. as far as I can tell. -#web has none. as far as I can tell. -#start has none. as far as I can tell. -#assembly has none. as far as I can tell. -#plot has none. as far as I can tell. -#points has none. as far as I can tell - -#End inter-module dependencies if(FREECAD_BUILD_POINTS) add_subdirectory(Points)