From 59f64d8d8207a7cd6162cf02f78a6757eb2143f5 Mon Sep 17 00:00:00 2001 From: Bernd Amend Date: Sat, 22 May 2021 14:48:12 +0200 Subject: [PATCH] set min required cmake version to 3.12 The already used functionallity already requires a more recent cmake version. Short summary why a never version is required: CMAKE_CXX_STANDARD requires >=3.1 CMAKE_COMPILER_IS_GNUCC requires >3.7 ENABLE_LTO can be simplified with >3.11 (3.13 VS) --- CMakeLists.txt | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c1510810..54e25c4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,12 @@ -cmake_minimum_required(VERSION 2.8) - -if(NOT ${CMAKE_VERSION} VERSION_LESS "3.1") - cmake_policy(SET CMP0054 NEW) -endif() +cmake_minimum_required(VERSION 3.12) +cmake_policy(SET CMP0054 NEW) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) +# required since cmake 3.4 at least for libc++ +set(CMAKE_ENABLE_EXPORTS ON) + project(chaiscript) option(MULTITHREAD_SUPPORT_ENABLED "Multithreaded Support Enabled" TRUE) @@ -62,10 +62,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") endif() option(ENABLE_LTO "Enable Link Time Optimization" FALSE) - - if (ENABLE_LTO) - add_definitions(-flto) - set(LINKER_FLAGS "${LINKER_FLAGS} -flto") + if(ENABLE_LTO) + check_ipo_supported() + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) endif() option(GPROF_OUTPUT "Generate profile data" FALSE)