From b9fc47d1fe3ba9de6550a1a552f214ca5d24a01d Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Thu, 13 Feb 2025 11:14:55 +0100 Subject: [PATCH] When project is top-level, force C++17 --- CMakeLists.txt | 3 +++ src/configuration/CMakeLists.txt | 1 + 2 files changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index fabf4b1a..b3039c0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,9 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") include(enable_extensions) if (PROJECT_IS_TOP_LEVEL) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) diff --git a/src/configuration/CMakeLists.txt b/src/configuration/CMakeLists.txt index 164f6ba7..a0530342 100644 --- a/src/configuration/CMakeLists.txt +++ b/src/configuration/CMakeLists.txt @@ -55,4 +55,5 @@ target_compile_definitions(configuration DRAMSYS_RESOURCE_DIR="${DRAMSYS_RESOURCE_DIR}" ) +target_compile_features(configuration PUBLIC cxx_std_17) add_library(DRAMSys::config ALIAS configuration)