From 3d1b2c9e67acd4dae3dc108b28ed564947861512 Mon Sep 17 00:00:00 2001 From: Conrad Clevenger Date: Mon, 24 Nov 2025 08:26:56 -0500 Subject: [PATCH 1/3] Update minimum version C++17 -> C++20 --- CMakeLists.txt | 3 +++ src/core/CMakeLists.txt | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3127e4fb..92a0e267 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,8 @@ cmake_minimum_required(VERSION 3.18) +# EKAT requires C++20 +set(CMAKE_CXX_STANDARD 20) + set (EKAT_CMAKE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake CACHE INTERNAL "") # Do not ignore env vars in find_package() calls diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 0d07327e..843bb1d2 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -58,9 +58,6 @@ add_library(ekat_core ekat_test_utils.cpp ) -# EKAT requires c++17 features -target_compile_features(ekat_core PUBLIC cxx_std_17) - # Add the correct ekat::Comm impl file, depending on whether MPI is ON/OFF. if (EKAT_ENABLE_MPI) target_sources(ekat_core PRIVATE ekat_comm.cpp) From fe40f07d18266d2e176808a1daf7562ce3acd383 Mon Sep 17 00:00:00 2001 From: Conrad Clevenger Date: Mon, 1 Dec 2025 09:53:00 -0500 Subject: [PATCH 2/3] Do not set testing to C++20, no need now --- cacts.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/cacts.yaml b/cacts.yaml index c676a4b6..99c5caed 100644 --- a/cacts.yaml +++ b/cacts.yaml @@ -92,7 +92,6 @@ configurations: uses_baselines: False on_by_default: True cmake_args: - CMAKE_CXX_STANDARD: 20 EKAT_ENABLE_ALL_PACKAGES: True EKAT_TEST_THREAD_INC: ${2 if machine.gpu_arch is None else 1} EKAT_TEST_MAX_THREADS: ${machine.num_run_res if machine.gpu_arch is None else 1} From 7719501958579788d1728f9be9204bbd93817a77 Mon Sep 17 00:00:00 2001 From: Conrad Clevenger Date: Mon, 11 May 2026 14:14:31 -0400 Subject: [PATCH 3/3] Update spdlog to 1.17.0, which enables C++20 support --- cmake/tpls/EkatBuildSpdlog.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/tpls/EkatBuildSpdlog.cmake b/cmake/tpls/EkatBuildSpdlog.cmake index 86ebce83..bb3894cc 100644 --- a/cmake/tpls/EkatBuildSpdlog.cmake +++ b/cmake/tpls/EkatBuildSpdlog.cmake @@ -4,7 +4,8 @@ include (EkatUtils) message (STATUS " Fetching spdlog via FetchContent") -set (SPDLOG_GIT_TAG bdd1dff3788ebfe520f48f9ad216c60da6dd8f00) +# spdlog version 1.17.0 commit sha +set (SPDLOG_GIT_TAG 79524ddd08a4ec981b7fea76afd08ee05f83755d) # We don't want testing or any spdlog executable at all option (SPDLOG_BUILD_TESTS "Enable spdlog tests" OFF)