diff --git a/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake b/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake index ac9c68b30f..7a7c1a5647 100644 --- a/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake +++ b/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake @@ -25,7 +25,7 @@ macro(CheckInterModuleDependencies) REQUIRES_MODS(BUILD_IMPORT BUILD_PART) REQUIRES_MODS(BUILD_INSPECTION BUILD_MESH BUILD_POINTS BUILD_PART) REQUIRES_MODS(BUILD_JTREADER BUILD_MESH) - REQUIRES_MODS(BUILD_MESH_PART BUILD_PART BUILD_MESH BUILD_SMESH) + REQUIRES_MODS(BUILD_MESH_PART BUILD_PART BUILD_MESH) REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART) REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT) REQUIRES_MODS(BUILD_PART BUILD_MATERIAL) diff --git a/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake b/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake index ff578025ce..fcb66a95e2 100644 --- a/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake +++ b/cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake @@ -183,8 +183,16 @@ macro(InitializeFreeCADBuildOptions) #set(FREECAD_USE_EXTERNAL_SMESH ON ) endif (FREECAD_BUILD_DEBIAN) - if(BUILD_FEM) - set(BUILD_SMESH ON ) + if(BUILD_FEM OR BUILD_MESH_PART) + set(FREECAD_USE_SMESH ON) + if(FREECAD_USE_EXTERNAL_SMESH) + set(BUILD_SMESH OFF) + else() + set(BUILD_SMESH ON) + endif() + else() + set(FREECAD_USE_SMESH OFF) + set(BUILD_SMESH OFF) endif() # force build directory to be different to source directory diff --git a/cMake/FreeCAD_Helpers/PrintFinalReport.cmake b/cMake/FreeCAD_Helpers/PrintFinalReport.cmake index 3ffcfcb44d..23b2dca37a 100644 --- a/cMake/FreeCAD_Helpers/PrintFinalReport.cmake +++ b/cMake/FreeCAD_Helpers/PrintFinalReport.cmake @@ -142,7 +142,7 @@ macro(PrintFinalReport) simple(ZLIB "${ZLIB_VERSION_STRING}") simple(OCC "${OCC_VERSION_STRING} [${OCC_LIBRARY_DIR}] [${OCC_INCLUDE_DIR}]") simple(OCC_Libs "[${OCC_LIBRARIES}]") - if(BUILD_SMESH) + if(FREECAD_USE_SMESH) if(FREECAD_USE_EXTERNAL_SMESH) simple(SMESH "${SMESH_VERSION_MAJOR}.${SMESH_VERSION_MINOR}.${SMESH_VERSION_PATCH}.${SMESH_VERSION_TWEAK}") else() @@ -152,7 +152,7 @@ macro(PrintFinalReport) simple(VTK ${VTK_VERSION}) endif() else() - simple(SMESH "do not build") + simple(SMESH "not enabled") endif() conditional(NETGEN NETGEN_FOUND "not enabled" diff --git a/cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake b/cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake index cd00c0d2cc..8db55febb1 100644 --- a/cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake +++ b/cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake @@ -1,8 +1,8 @@ macro(SetupSalomeSMESH) # -------------------------------- Salome SMESH -------------------------- - # Salome SMESH sources are under src/3rdParty now - if(BUILD_SMESH) + if(FREECAD_USE_SMESH) + # set the internal smesh version: # see src/3rdParty/salomonemesh/CMakeLists.txt and commit https://github.com/FreeCAD/FreeCAD/commit/666a3e5 and https://forum.freecad.org/viewtopic.php?f=10&t=30838 set(SMESH_VERSION_MAJOR 7) @@ -145,6 +145,6 @@ macro(SetupSalomeSMESH) set(SMESH_FOUND TRUE) configure_file(${CMAKE_SOURCE_DIR}/src/SMESH_Version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/SMESH_Version.h) - endif(BUILD_SMESH) + endif(FREECAD_USE_SMESH) endmacro(SetupSalomeSMESH) diff --git a/src/3rdParty/CMakeLists.txt b/src/3rdParty/CMakeLists.txt index a88b4ec3a5..e5dec18854 100644 --- a/src/3rdParty/CMakeLists.txt +++ b/src/3rdParty/CMakeLists.txt @@ -1,5 +1,5 @@ # Build SalomeMesh for all Platforms since heavily patched -if (BUILD_SMESH AND NOT FREECAD_USE_EXTERNAL_SMESH) +if (BUILD_SMESH) add_subdirectory(salomesmesh) endif() @@ -12,4 +12,4 @@ if (BUILD_ASSEMBLY AND NOT FREECAD_USE_EXTERNAL_ONDSELSOLVER) git submodule update --init" ) endif() add_subdirectory(OndselSolver) -endif() \ No newline at end of file +endif() diff --git a/src/Mod/MeshPart/App/CMakeLists.txt b/src/Mod/MeshPart/App/CMakeLists.txt index 05a7b5c29e..1de85a436e 100644 --- a/src/Mod/MeshPart/App/CMakeLists.txt +++ b/src/Mod/MeshPart/App/CMakeLists.txt @@ -1,9 +1,9 @@ -if (BUILD_SMESH) +if (SMESH_FOUND) add_definitions(-DHAVE_SMESH) if(SMESH_VERSION_MAJOR LESS_EQUAL 9 AND SMESH_VERSION_MINOR LESS 10 ) add_definitions(-DHAVE_MEFISTO) endif() -endif(BUILD_SMESH) +endif(SMESH_FOUND) if(BUILD_FEM_NETGEN) add_definitions(-DHAVE_NETGEN) diff --git a/src/Mod/MeshPart/Gui/CMakeLists.txt b/src/Mod/MeshPart/Gui/CMakeLists.txt index f1c838362a..ff9a7bd593 100644 --- a/src/Mod/MeshPart/Gui/CMakeLists.txt +++ b/src/Mod/MeshPart/Gui/CMakeLists.txt @@ -1,9 +1,9 @@ -if (BUILD_SMESH) +if (SMESH_FOUND) add_definitions(-DHAVE_SMESH) if(SMESH_VERSION_MAJOR LESS_EQUAL 9 AND SMESH_VERSION_MINOR LESS 10 ) add_definitions(-DHAVE_MEFISTO) endif() -endif(BUILD_SMESH) +endif(SMESH_FOUND) if(BUILD_FEM_NETGEN) add_definitions(-DHAVE_NETGEN) diff --git a/tests/src/Mod/Measure/CMakeLists.txt b/tests/src/Mod/Measure/CMakeLists.txt index 08ab1ff673..9296e3b16e 100644 --- a/tests/src/Mod/Measure/CMakeLists.txt +++ b/tests/src/Mod/Measure/CMakeLists.txt @@ -3,8 +3,6 @@ target_include_directories(Measure_tests_run PUBLIC ${EIGEN3_INCLUDE_DIR} ${OCC_INCLUDE_DIR} ${Python3_INCLUDE_DIRS} - ${SMESH_INCLUDE_DIR} - ${VTK_INCLUDE_DIRS} ${XercesC_INCLUDE_DIRS} ) target_link_directories(Measure_tests_run PUBLIC ${OCC_LIBRARY_DIR})