cmake: Error on invalid CMAKE_BUILD_TYPE
authorJustin Bogner <mail@justinbogner.com>
Sat, 8 Aug 2015 21:04:45 +0000 (21:04 +0000)
committerJustin Bogner <mail@justinbogner.com>
Sat, 8 Aug 2015 21:04:45 +0000 (21:04 +0000)
Apparently if you make a typo in the argument to CMAKE_BUILD_TYPE,
cmake silently accepts this but doesn't apply any particular build
type to your build. This means you get a build that doesn't really
make any sense - it's sort of a debug build with asserts disabled.

Error out instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244406 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt

index 92beb6c27e8cf0b673980e47d5047bb15283cbd7..adf852e2a44597d5028a835fa56ed34d37820b23 100644 (file)
@@ -7,6 +7,11 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
   set(CMAKE_BUILD_TYPE "Debug")
 endif()
 
+if (CMAKE_BUILD_TYPE AND
+    NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$")
+  message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
+endif()
+
 if(POLICY CMP0022)
   cmake_policy(SET CMP0022 NEW) # automatic when 2.8.12 is required
 endif()