Commit 471662f7c9

Michael Dusan <michael.dusan@gmail.com>
2020-02-12 23:23:48
stage1: limit cmake checks on build type
Various maintainers pass custom build types and we don't need to check those. We are interested only in checking and diagnosing common errors for Zig project supported types. Check is now limited to look for case-mismatch only on the well-known values { Debug, Release, RelWithDebInfo, MinSizeRel }.
1 parent ab4ea5d
Changed files (1)
CMakeLists.txt
@@ -5,16 +5,21 @@ if(NOT CMAKE_BUILD_TYPE)
         "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
 endif()
 
-set(_list "None;Debug;Release;RelWithDebInfo;MinSizeRel")
-list(FIND _list ${CMAKE_BUILD_TYPE} _index)
-if(${_index} EQUAL -1)
-    string(REPLACE ";" ", " _list_pretty "${_list}")
-    message("::")
-    message(":: ERROR: Invalid build type: ${CMAKE_BUILD_TYPE}")
-    message("::")
-    message(":: valid types: { ${_list_pretty} }")
-    message("::")
-    message(FATAL_ERROR)
+set(_list "Debug;Release;RelWithDebInfo;MinSizeRel")
+string(TOLOWER "${_list}" _list_lower)
+string(TOLOWER ${CMAKE_BUILD_TYPE} _build_type_lower)
+list(FIND _list_lower "${_build_type_lower}" _index)
+if(NOT ${_index} EQUAL -1)
+    list(FIND _list "${CMAKE_BUILD_TYPE}" _index)
+    if(${_index} EQUAL -1)
+        string(REPLACE ";" ", " _list_pretty "${_list}")
+        message("::")
+        message(":: ERROR: build type case-mismatch: ${CMAKE_BUILD_TYPE}")
+        message("::")
+        message(":: valid types: { ${_list_pretty} }")
+        message("::")
+        message(FATAL_ERROR)
+    endif()
 endif()
 
 if(NOT CMAKE_INSTALL_PREFIX)