From a83ad318987ccb10e7fff613c63725dfad1b09c7 Mon Sep 17 00:00:00 2001 From: Tomas Pecka <tomas.pecka@fit.cvut.cz> Date: Mon, 25 Nov 2019 12:07:03 +0100 Subject: [PATCH] CMake: Force CMAKE_BUILD_TYPE set --- CMake/Modules/CompilerFlags.cmake | 3 ++- CMake/templates/CMakeLists_root.txt | 15 +++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/CMake/Modules/CompilerFlags.cmake b/CMake/Modules/CompilerFlags.cmake index 63b5b17c2c..d530fb26b6 100644 --- a/CMake/Modules/CompilerFlags.cmake +++ b/CMake/Modules/CompilerFlags.cmake @@ -9,7 +9,8 @@ include(CheckCXXCompilerFlag) include(sanitizer) # sanitizer -DSANITIZE=<sanitizer> find_package(Backtrace) -message("[Current compiler] ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}") +message("[Build type]: ${BUILD_TYPE} (cmake: ${CMAKE_BUILD_TYPE})") +message("[Compiler] ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}") if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "(Clang|GNU)") message(WARNING "Compiler ${CMAKE_CXX_COMPILER_ID} is not officially supported.") diff --git a/CMake/templates/CMakeLists_root.txt b/CMake/templates/CMakeLists_root.txt index 84202c8a4a..b9b7b7e96c 100644 --- a/CMake/templates/CMakeLists_root.txt +++ b/CMake/templates/CMakeLists_root.txt @@ -24,16 +24,19 @@ if (NOT BUILD_TYPE) set(BUILD_TYPE Debug) endif() string(TOLOWER ${{BUILD_TYPE}} BUILD_TYPE) -if(NOT BUILD_TYPE MATCHES "(release|snapshot|debug)") - message(FATAL_ERROR "Unsupported build type (${{BUILD_TYPE}}). Valid values: Release | Snapshot | Debug ") -elseif(BUILD_TYPE MATCHES "release") - set(CMAKE_BUILD_TYPE Release) + +if(BUILD_TYPE MATCHES "release") + set(CMAKE_BUILD_TYPE Release CACHE STRING "cmake internal build type" FORCE) elseif(BUILD_TYPE MATCHES "snapshot") - set(CMAKE_BUILD_TYPE Release) + set(CMAKE_BUILD_TYPE Release CACHE STRING "cmake internal build type" FORCE) elseif(BUILD_TYPE MATCHES "debug") - set(CMAKE_BUILD_TYPE Debug) + set(CMAKE_BUILD_TYPE Debug CACHE STRING "cmake internal build type" FORCE) +else() + message(FATAL_ERROR "Unsupported build type (${{BUILD_TYPE}}). Valid values: Release | Snapshot | Debug ") endif() +message("[Build type] ${{BUILD_TYPE}} (cmake internal: ${{CMAKE_BUILD_TYPE}})") + if(DEFINED ENV{{CMAKE_BUILD_PARALLEL_LEVEL}}) message("[Parallel run] Build: $ENV{{CMAKE_BUILD_PARALLEL_LEVEL}} threads by default") endif() -- GitLab