From a6fd2fd7b8f704d8728dcc2d33fe86d1fd9873fe Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Wed, 18 Oct 2017 15:37:05 +0200 Subject: [PATCH] [CMake] Fixed Conan issues on Windows. --- scripts/cmake/CMakeSetup.cmake | 2 +- scripts/cmake/CompilerSetup.cmake | 4 ---- scripts/cmake/ConanSetup.cmake | 5 +++++ scripts/cmake/conan/conan.cmake | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/cmake/CMakeSetup.cmake b/scripts/cmake/CMakeSetup.cmake index 87dcfe20d49..81f7e346758 100644 --- a/scripts/cmake/CMakeSetup.cmake +++ b/scripts/cmake/CMakeSetup.cmake @@ -18,7 +18,7 @@ if(NOT PROJECT_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) set(OGS_BUILD_CLI OFF CACHE BOOL "" FORCE) endif() -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) +if(NOT CMAKE_BUILD_TYPE AND (NOT CMAKE_CONFIGURATION_TYPES OR OGS_USE_CONAN)) message(STATUS "Setting build type to 'Debug' as none was specified.") set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake index e7cda0f899a..e8f69dfb66c 100644 --- a/scripts/cmake/CompilerSetup.cmake +++ b/scripts/cmake/CompilerSetup.cmake @@ -1,7 +1,5 @@ include(ResetConfigurations) # To Debug, Release, RelWithDebInfo -include(SetDefaultBuildType) include(DisableCompilerFlag) -SET_DEFAULT_BUILD_TYPE(Debug) include(MSVCMultipleProcessCompile) # /MP switch (multi processor) for VS set(CMAKE_OSX_ARCHITECTURES "x86_64") @@ -138,8 +136,6 @@ if(WIN32) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} \ /ZI /Od /Ob0") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd") - DisableCompilerFlag(DEBUG /RTC1) # cygwin else() diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake index 2af05fceeda..c25a6c86bac 100644 --- a/scripts/cmake/ConanSetup.cmake +++ b/scripts/cmake/ConanSetup.cmake @@ -2,6 +2,11 @@ if(NOT OGS_USE_CONAN) return() endif() +if(CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + message(FATAL_ERROR "Multi-config generators are not yet supported when " + "using Conan. Specify CMAKE_BUILD_TYPE!") +endif() + set(OGS_QT_VERSION 5.6.2) if((${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang) AND (${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 8.3)) diff --git a/scripts/cmake/conan/conan.cmake b/scripts/cmake/conan/conan.cmake index 6b8e36d8137..6bf355531a0 100644 --- a/scripts/cmake/conan/conan.cmake +++ b/scripts/cmake/conan/conan.cmake @@ -176,7 +176,7 @@ function(conan_cmake_detect_vs_runtime result) string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) set(variables CMAKE_CXX_FLAGS_${build_type} CMAKE_C_FLAGS_${build_type} CMAKE_CXX_FLAGS CMAKE_C_FLAGS) foreach(variable ${variables}) - string(REPLACE " " ";" flags ${variable}) + string(REPLACE " " ";" flags ${${variable}}) foreach (flag ${flags}) if(${flag} STREQUAL "/MD" OR ${flag} STREQUAL "/MDd" OR ${flag} STREQUAL "/MT" OR ${flag} STREQUAL "/MTd") string(SUBSTRING ${flag} 1 -1 runtime) -- GitLab