diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ff7f53cd2..3b2246b63 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -27,10 +27,15 @@ mark_as_advanced( CMAKE_CXX_FLAGS_SEMIDEBUG CMAKE_C_FLAGS_SEMIDEBUG ) +set(SUPPORTED_BUILD_TYPES Release Debug SemiDebug RelWithDebInfo MinSizeRel) set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING - "Choose the type of build. Options are: None Debug SemiDebug RelWithDebInfo MinSizeRel." + "Choose the type of build. Options are: ${SUPPORTED_BUILD_TYPES}." FORCE ) +if(NOT (CMAKE_BUILD_TYPE IN_LIST SUPPORTED_BUILD_TYPES)) + message(FATAL_ERROR + "Invalid CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}. Options are: ${SUPPORTED_BUILD_TYPES}.") +endif() # Set some random things default to not being visible in the GUI