From 5169a7e852e7d18ec9ae4748535d309f5951c482 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 31 Mar 2021 15:35:28 +0200 Subject: [PATCH] smesh: [skip ci] build FEM & MeshPart with C++14 when using external smesh because it doesn't support C++17 yet --- src/Mod/Fem/App/CMakeLists.txt | 8 +++++++- src/Mod/Fem/Gui/CMakeLists.txt | 6 ++++++ src/Mod/MeshPart/App/CMakeLists.txt | 6 ++++++ src/Mod/MeshPart/Gui/CMakeLists.txt | 6 ++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index cb45f0ba19..aafd14d98a 100644 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -176,7 +176,7 @@ SET(FemConstraints_SRCS FemConstraintContact.h FemConstraintTransform.cpp FemConstraintTransform.h - ) +) SOURCE_GROUP("Constraints" FILES ${FemConstraints_SRCS}) @@ -198,6 +198,12 @@ endif(FREECAD_USE_PCH) add_library(Fem SHARED ${Fem_SRCS}) target_link_libraries(Fem ${Fem_LIBS} ${VTK_LIBRARIES}) +# external SMESH doesn't support C++17 yet +if(FREECAD_USE_EXTERNAL_SMESH) + set_target_properties(Fem PROPERTIES CXX_STANDARD_REQUIRED ON) + set_target_properties(Fem PROPERTIES CXX_STANDARD 14) +endif() + SET_BIN_DIR(Fem Fem /Mod/Fem) SET_PYTHON_PREFIX_SUFFIX(Fem) diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt index 0c9dc0b7ca..0b73d0ba66 100755 --- a/src/Mod/Fem/Gui/CMakeLists.txt +++ b/src/Mod/Fem/Gui/CMakeLists.txt @@ -394,6 +394,12 @@ SET(FemGuiIcon_SVG add_library(FemGui SHARED ${FemGui_SRCS} ${FemGuiIcon_SVG}) target_link_libraries(FemGui ${FemGui_LIBS} ${VTK_LIBRARIES}) +# external SMESH doesn't support C++17 yet +if(FREECAD_USE_EXTERNAL_SMESH) + set_target_properties(FemGui PROPERTIES CXX_STANDARD_REQUIRED ON) + set_target_properties(FemGui PROPERTIES CXX_STANDARD 14) +endif() + fc_copy_sources(FemGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Fem" ${FemGuiIcon_SVG}) diff --git a/src/Mod/MeshPart/App/CMakeLists.txt b/src/Mod/MeshPart/App/CMakeLists.txt index 939f566389..eb2fa0fd25 100644 --- a/src/Mod/MeshPart/App/CMakeLists.txt +++ b/src/Mod/MeshPart/App/CMakeLists.txt @@ -65,6 +65,12 @@ set(MeshPart_Scripts add_library(MeshPart SHARED ${MeshPart_SRCS} ${MeshPart_Scripts}) target_link_libraries(MeshPart ${MeshPart_LIBS}) +# external SMESH doesn't support C++17 yet +if(FREECAD_USE_EXTERNAL_SMESH) + set_target_properties(MeshPart PROPERTIES CXX_STANDARD_REQUIRED ON) + set_target_properties(MeshPart PROPERTIES CXX_STANDARD 14) +endif() + fc_target_copy_resource_flat(MeshPart ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/src/Mod/MeshPart/Gui/CMakeLists.txt b/src/Mod/MeshPart/Gui/CMakeLists.txt index 92ccfdf9eb..c5bb5ddc2a 100644 --- a/src/Mod/MeshPart/Gui/CMakeLists.txt +++ b/src/Mod/MeshPart/Gui/CMakeLists.txt @@ -91,6 +91,12 @@ set(FLATMESH_PY_SRCS add_library(MeshPartGui SHARED ${MeshPartGui_SRCS} ${MeshPartGui_Scripts} ${FLATMESH_PY_SRCS}) target_link_libraries(MeshPartGui ${MeshPartGui_LIBS}) +# external SMESH doesn't support C++17 yet +if(FREECAD_USE_EXTERNAL_SMESH) + set_target_properties(MeshPartGui PROPERTIES CXX_STANDARD_REQUIRED ON) + set_target_properties(MeshPartGui PROPERTIES CXX_STANDARD 14) +endif() + SET_BIN_DIR(MeshPartGui MeshPartGui /Mod/MeshPart) SET_PYTHON_PREFIX_SUFFIX(MeshPartGui)