Make build type check case insensitive

This commit is contained in:
Tom Lankhorst 2019-01-27 13:44:16 +01:00
parent 9186c8b7d9
commit b1bc3d9322
No known key found for this signature in database
GPG Key ID: 52BF82B885592251
2 changed files with 5 additions and 3 deletions

View File

@ -53,7 +53,7 @@ if (PORTABLE OR WIN32)
endif ()
include(cmake/ipo.cmake)
list(APPEND IPO_ENABLED_BUILDS Release RelWithDebInfo MinSizeRel)
list(APPEND IPO_ENABLED_BUILDS RELEASE RELWITHDEBINFO MINSIZEREL)
ipo_enable("${IPO_ENABLED_BUILDS}")
# Describe current version in terms of closest tag

View File

@ -4,21 +4,23 @@ option(DISABLE_IPO "Disable IPO in supported release builds." OFF)
# Enabled IPO for a LIST of CMake build types.
# Provides IPO_BUILD_ENABLED to the parent scope.
# Make sure to supply the build types in UPPER CASE
function(ipo_enable IPO_ENABLED_BUILDS)
include(CheckIPOSupported)
check_ipo_supported(RESULT IPO_SUPPORTED OUTPUT IPO_LOG)
set(IPO_BUILD_ENABLED OFF PARENT_SCOPE)
string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER)
if(NOT CMAKE_BUILD_TYPE)
message(STATUS "CMAKE_BUILD_TYPE not explicitly set. Not enabling IPO.")
elseif(IPO_SUPPORTED AND ${CMAKE_BUILD_TYPE} IN_LIST IPO_ENABLED_BUILDS)
elseif(IPO_SUPPORTED AND ${CMAKE_BUILD_TYPE_UPPER} IN_LIST IPO_ENABLED_BUILDS)
if(NOT DISABLE_IPO)
message(STATUS "IPO supported and enabled in ${CMAKE_BUILD_TYPE}.")
set(IPO_BUILD_ENABLED ON PARENT_SCOPE)
else()
message(STATUS "IPO explicitly disabled.")
endif()
elseif(NOT IPO_SUPPORTED AND ${CMAKE_BUILD_TYPE} IN_LIST IPO_ENABLED_BUILDS)
elseif(NOT IPO_SUPPORTED AND ${CMAKE_BUILD_TYPE_UPPER} IN_LIST IPO_ENABLED_BUILDS)
message(STATUS "IPO not supported: ${IPO_LOG}.")
endif()
endfunction()