From bd1243891658340c04464f0b3715194ddde5eddf Mon Sep 17 00:00:00 2001 From: Vittorio Romeo Date: Wed, 1 Dec 2021 19:14:15 +0000 Subject: [PATCH] Enable and require C++17 support for all targets --- CMakeLists.txt | 5 ++++- cmake/Macros.cmake | 11 ++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d6432fa92..3fdb93447 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.7.2) +cmake_minimum_required(VERSION 3.8) # customize the compiler options CMake uses to initialize variables with set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/CompilerOptionsOverride.cmake") @@ -345,6 +345,9 @@ else() # create SFML.framework add_library(SFML ${SFML_SOURCES}) + # enable C++17 support + target_compile_features(SFML PUBLIC cxx_std_17) + # set the target flags to use the appropriate C++ standard library sfml_set_stdlib(SFML) diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake index 841e7865c..580c734d0 100644 --- a/cmake/Macros.cmake +++ b/cmake/Macros.cmake @@ -66,6 +66,9 @@ macro(sfml_add_library target) add_library(${target} ${THIS_SOURCES}) endif() + # enable C++17 support + target_compile_features(${target} PUBLIC cxx_std_17) + set_file_warnings(${THIS_SOURCES}) # define the export symbol of the module @@ -265,6 +268,9 @@ macro(sfml_add_example target) add_executable(${target} ${target_input}) endif() + # enable C++17 support + target_compile_features(${target} PUBLIC cxx_std_17) + set_file_warnings(${target_input}) # set the debug suffix @@ -302,6 +308,9 @@ function(sfml_add_test target SOURCES DEPENDS) # create the target add_executable(${target} ${SOURCES}) + # enable C++17 support + target_compile_features(${target} PUBLIC cxx_std_17) + # set the target's folder (for IDEs that support it, e.g. Visual Studio) set_target_properties(${target} PROPERTIES FOLDER "Tests") @@ -309,7 +318,7 @@ function(sfml_add_test target SOURCES DEPENDS) if(DEPENDS) target_link_libraries(${target} PRIVATE ${DEPENDS}) endif() - + # Add the test add_test(${target} ${target})