diff --git a/CMakeLists.txt b/CMakeLists.txt index 713d29a3c..380caac6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.11) +cmake_minimum_required(VERSION 3.12) project(SofaPython3) @@ -60,6 +60,12 @@ if (NOT SP3_COMPILED_AS_SUBPROJECT) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${LIBRARY_OUTPUT_DIRECTORY}) endif() +if(MSVC) + # With C++17 (/std:c++17), to get MSVC to behave, you need /permissive- + # see https://github.com/pybind/pybind11/issues/1616 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /permissive-") +endif() + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/bindings/Sofa/tests/CMakeLists.txt b/bindings/Sofa/tests/CMakeLists.txt index 78de5a8f3..17b052d1e 100644 --- a/bindings/Sofa/tests/CMakeLists.txt +++ b/bindings/Sofa/tests/CMakeLists.txt @@ -72,4 +72,5 @@ install(DIRECTORY ${CMAKE_BINARY_DIR}/${RUNTIME_OUTPUT_DIRECTORY}/Types DESTINAT install( TARGETS ${PROJECT_NAME} EXPORT BindingsTargets + RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY} ) diff --git a/bindings/SofaExporter/tests/CMakeLists.txt b/bindings/SofaExporter/tests/CMakeLists.txt index 1709b0d6c..b6f0c2a69 100644 --- a/bindings/SofaExporter/tests/CMakeLists.txt +++ b/bindings/SofaExporter/tests/CMakeLists.txt @@ -30,4 +30,5 @@ install(DIRECTORY ${CMAKE_BINARY_DIR}/${RUNTIME_OUTPUT_DIRECTORY}/tests DESTINAT install( TARGETS ${PROJECT_NAME} EXPORT BindingsTargets + RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY} ) \ No newline at end of file diff --git a/bindings/SofaGui/CMakeLists.txt b/bindings/SofaGui/CMakeLists.txt index ea9e377d5..38e092844 100644 --- a/bindings/SofaGui/CMakeLists.txt +++ b/bindings/SofaGui/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.12) project(Bindings.SofaGui) set(SOURCE_FILES diff --git a/bindings/SofaRuntime/tests/CMakeLists.txt b/bindings/SofaRuntime/tests/CMakeLists.txt index 8ccbb85a6..ead89246d 100644 --- a/bindings/SofaRuntime/tests/CMakeLists.txt +++ b/bindings/SofaRuntime/tests/CMakeLists.txt @@ -36,4 +36,5 @@ install(DIRECTORY ${CMAKE_BINARY_DIR}/${RUNTIME_OUTPUT_DIRECTORY}/tests DESTINAT install( TARGETS ${PROJECT_NAME} EXPORT BindingsTargets + RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY} ) diff --git a/bindings/SofaTypes/tests/CMakeLists.txt b/bindings/SofaTypes/tests/CMakeLists.txt index 4d042b2c7..9be101f4c 100644 --- a/bindings/SofaTypes/tests/CMakeLists.txt +++ b/bindings/SofaTypes/tests/CMakeLists.txt @@ -36,4 +36,5 @@ install(DIRECTORY ${CMAKE_BINARY_DIR}/${RUNTIME_OUTPUT_DIRECTORY}/pyfiles DESTIN install( TARGETS ${PROJECT_NAME} EXPORT BindingsTargets + RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY} )