diff --git a/CMakeLists.txt b/CMakeLists.txt index 83197af1e..a1464acd0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,13 +24,15 @@ find_package(PkgConfig QUIET) if (NOT CMAKE_BUILD_TYPE) message(STATUS "Default build type 'Release with debug info'") - set(CMAKE_BUILD_TYPE RELWITHDEBINFO CACHE STRING "" FORCE ) + set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "" FORCE) else() - string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE) message(STATUS "Build type ${CMAKE_BUILD_TYPE}") endif() -if(CMAKE_BUILD_TYPE MATCHES RELEASE|RELWITHDEBINFO|MINSIZEREL) +string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC) +string(TOUPPER ${CMAKE_CONFIGURATION_TYPES} CMAKE_CONFIGURATION_TYPES_UC) + +if(CMAKE_BUILD_TYPE_UC MATCHES RELEASE|RELWITHDEBINFO|MINSIZEREL) message(STATUS "using release build") set(RELEASE_BUILD TRUE) else() @@ -47,12 +49,11 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${BINDIR}") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${LIBDIR}") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${LIBDIR}") # Second, for multi-config builds (e.g. msvc) -foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) - string (TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) +foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES_UC}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${BINDIR}") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${LIBDIR}") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${LIBDIR}") -endforeach (OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES) +endforeach () if(CMAKE_GENERATOR STREQUAL Xcode) @@ -170,7 +171,7 @@ if(MSVC OR MSVC_IDE) else() # remove CMake's idea of optimisation - foreach (CONFIG ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES}) + foreach (CONFIG ${CMAKE_BUILD_TYPE_UC} ${CMAKE_CONFIGURATION_TYPES_UC}) string(REGEX REPLACE "-O[^ ]*" "" CMAKE_C_FLAGS_${CONFIG} "${CMAKE_C_FLAGS_${CONFIG}}") string(REGEX REPLACE "-O[^ ]*" "" CMAKE_CXX_FLAGS_${CONFIG} "${CMAKE_CXX_FLAGS_${CONFIG}}") endforeach () @@ -216,7 +217,7 @@ else() endif() if(OPTIMISE) - if (NOT CMAKE_BUILD_TYPE MATCHES MINSIZEREL) + if (NOT CMAKE_BUILD_TYPE_UC MATCHES MINSIZEREL) set(OPT_C_FLAG "-O3") set(OPT_CXX_FLAG "-O2") else ()