From b1bc3d93223ee27eba9c1e97525e3293e522a59b Mon Sep 17 00:00:00 2001 From: Tom Lankhorst Date: Sun, 27 Jan 2019 13:44:16 +0100 Subject: [PATCH] Make build type check case insensitive --- CMakeLists.txt | 2 +- cmake/ipo.cmake | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6850784e8d..b6cb7c657a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/cmake/ipo.cmake b/cmake/ipo.cmake index ce54b0e381..7c77c62a20 100644 --- a/cmake/ipo.cmake +++ b/cmake/ipo.cmake @@ -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()