summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt17
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")