summaryrefslogtreecommitdiff
path: root/Modules/CMakeCInformation.cmake
diff options
context:
space:
mode:
authorBastien Schatt <bastien.schatt@magestik.fr>2017-04-04 22:11:28 +0200
committerBrad King <brad.king@kitware.com>2017-04-06 09:44:34 -0400
commit8187b884717db85a4c413f8a32f72dceff8f9b8a (patch)
tree06c1439fa88bb9bf133df32881422bebeb84cbfa /Modules/CMakeCInformation.cmake
parent333ff168eb04e12d5d118a2e9cf50d600c508db5 (diff)
downloadcmake-8187b884717db85a4c413f8a32f72dceff8f9b8a.tar.gz
Do not initialize CMAKE_BUILD_TYPE on multi-config generators
Use the `GENERATOR_IS_MULTI_CONFIG` global property to reliably detect multi-config generators regardless of what variables the project or user have set.
Diffstat (limited to 'Modules/CMakeCInformation.cmake')
-rw-r--r--Modules/CMakeCInformation.cmake6
1 files changed, 4 insertions, 2 deletions
diff --git a/Modules/CMakeCInformation.cmake b/Modules/CMakeCInformation.cmake
index 709e316d06..71aadb474b 100644
--- a/Modules/CMakeCInformation.cmake
+++ b/Modules/CMakeCInformation.cmake
@@ -110,11 +110,13 @@ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_INIT}" CACHE STRING
"Flags used by the compiler during all build types.")
if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
-# default build type is none
- if(NOT CMAKE_NO_BUILD_TYPE)
+ get_property(_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+ # default build type is none
+ if(NOT _GENERATOR_IS_MULTI_CONFIG AND NOT CMAKE_NO_BUILD_TYPE)
set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
"Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
endif()
+ unset(_GENERATOR_IS_MULTI_CONFIG)
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG_INIT}" CACHE STRING
"Flags used by the compiler during debug builds.")
set (CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL_INIT}" CACHE STRING