diff options
-rw-r--r-- | CMakeLists.txt | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 744c18a..bdb5093 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,20 @@ -cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) - -# cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug .. +cmake_minimum_required(VERSION 3.15 FATAL_ERROR) + +set(beamergui_BUILD_TYPES Release Debug) +get_property(multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(multi_config) + set(CMAKE_CONFIGURATION_TYPES "${beamergui_BUILD_TYPES}" CACHE STRING "list of supported configuration types" FORCE) +else() + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build Type of the project.") + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "${beamergui_BUILD_TYPES}") + if(NOT CMAKE_BUILD_TYPE IN_LIST beamergui_BUILD_TYPES) + message(FATAL_ERROR "Invalid build type '${CMAKE_BUILD_TYPE}'. Possible values:\n ${beamergui_BUILD_TYPES}") + endif() +endif() # project name project(beamergui) -set(CMAKE_BUILD_TYPE Release) set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wall -Wextra -pedantic -Werror") set(CMAKE_CXX_FLAGS_RELEASE "-O2") |