From 86d4c128c4cffeff053479cc9f406074a558f419 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 20 Jan 2023 11:19:18 +0100 Subject: Mdernize CMakeLists.txt build type handling --- CMakeLists.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3521ea6..8bbbb20 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,21 @@ ################################################################################ # General ################################################################################ +cmake_minimum_required(VERSION 3.15 FATAL_ERROR) + +set(pvs2_BUILD_TYPES Release Debug) +get_property(multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(multi_config) + set(CMAKE_CONFIGURATION_TYPES "${pvs2_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 "${pvs2_BUILD_TYPES}") + if(NOT CMAKE_BUILD_TYPE IN_LIST pvs2_BUILD_TYPES) + message(FATAL_ERROR "Invalid build type '${CMAKE_BUILD_TYPE}'. Possible values:\n ${pvs2_BUILD_TYPES}") + endif() +endif() PROJECT(pvs2) -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) SET(EXTRA_C_FLAGS "" CACHE STRING "Additional options to pass to C compiler") SET(EXTRA_CXX_FLAGS "" CACHE STRING "Additional options to pass to C++ compiler") -- cgit v1.2.3-55-g7522