Skip to content

Commit 3a9af50

Browse files
committed
Don't in-place upper-case CMake build and config types.
Source: intel#233
1 parent 7282c36 commit 3a9af50

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

CMakeLists.txt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ find_package(PkgConfig QUIET)
2424

2525
if (NOT CMAKE_BUILD_TYPE)
2626
message(STATUS "Default build type 'Release with debug info'")
27-
set(CMAKE_BUILD_TYPE RELWITHDEBINFO CACHE STRING "" FORCE )
27+
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "" FORCE)
2828
else()
29-
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)
3029
message(STATUS "Build type ${CMAKE_BUILD_TYPE}")
3130
endif()
3231

33-
if(CMAKE_BUILD_TYPE MATCHES RELEASE|RELWITHDEBINFO|MINSIZEREL)
32+
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)
33+
string(TOUPPER ${CMAKE_CONFIGURATION_TYPES} CMAKE_CONFIGURATION_TYPES_UC)
34+
35+
if(CMAKE_BUILD_TYPE_UC MATCHES RELEASE|RELWITHDEBINFO|MINSIZEREL)
3436
message(STATUS "using release build")
3537
set(RELEASE_BUILD TRUE)
3638
else()
@@ -47,12 +49,11 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${BINDIR}")
4749
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${LIBDIR}")
4850
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${LIBDIR}")
4951
# Second, for multi-config builds (e.g. msvc)
50-
foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
51-
string (TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
52+
foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES_UC})
5253
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${BINDIR}")
5354
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${LIBDIR}")
5455
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${LIBDIR}")
55-
endforeach (OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES)
56+
endforeach()
5657

5758

5859
if(CMAKE_GENERATOR STREQUAL Xcode)
@@ -140,7 +141,7 @@ option(WINDOWS_ICC "Use Intel C++ Compiler on Windows, default off, requires ICC
140141
# TODO: per platform config files?
141142

142143
# remove CMake's idea of optimisation
143-
foreach (CONFIG ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES})
144+
foreach (CONFIG ${CMAKE_BUILD_TYPE_UC} ${CMAKE_CONFIGURATION_TYPES_UC})
144145
string(REGEX REPLACE "-O[^ ]*" "" CMAKE_C_FLAGS_${CONFIG} "${CMAKE_C_FLAGS_${CONFIG}}")
145146
string(REGEX REPLACE "-O[^ ]*" "" CMAKE_CXX_FLAGS_${CONFIG} "${CMAKE_CXX_FLAGS_${CONFIG}}")
146147
endforeach ()
@@ -165,7 +166,7 @@ if(MSVC OR MSVC_IDE)
165166
set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} /EHsc ${MSVC_WARNS}")
166167
set(EXTRA_CXX_FLAGS "${EXTRA_CXX_FLAGS} /EHsc ${MSVC_WARNS} /wd4800 -DBOOST_DETAIL_NO_CONTAINER_FWD")
167168
if(OPTIMISE)
168-
if (NOT CMAKE_BUILD_TYPE MATCHES MINSIZEREL)
169+
if (NOT CMAKE_BUILD_TYPE_UC MATCHES MINSIZEREL)
169170
set(OPT_C_FLAG "/O2")
170171
set(OPT_CXX_FLAG "/O2")
171172
else ()
@@ -233,7 +234,7 @@ else()
233234
endif()
234235

235236
if(OPTIMISE)
236-
if (NOT CMAKE_BUILD_TYPE MATCHES MINSIZEREL)
237+
if (NOT CMAKE_BUILD_TYPE_UC MATCHES MINSIZEREL)
237238
set(OPT_C_FLAG "-O3")
238239
set(OPT_CXX_FLAG "-O2")
239240
else ()

0 commit comments

Comments
 (0)