summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2023-01-10 15:26:23 +0100
committerSimon Rettberg2023-01-10 15:26:23 +0100
commit44536234a4e70702f18e58a60b973bcfecbcf821 (patch)
treea34d5331b7d856a4087b25528046207b0f3ba97f
parentTurn deprecated-declarations into warning (diff)
downloadbeamergui-44536234a4e70702f18e58a60b973bcfecbcf821.tar.gz
beamergui-44536234a4e70702f18e58a60b973bcfecbcf821.tar.xz
beamergui-44536234a4e70702f18e58a60b973bcfecbcf821.zip
CMake: Use proper build config config
-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")