From 41e41b4de18cf523ddbf03096305bc731f17d434 Mon Sep 17 00:00:00 2001 From: Conrad Clevenger Date: Thu, 11 Dec 2025 13:02:53 -0500 Subject: [PATCH 1/4] Set CMAKE_CXX_STANDARD to C++20 --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17bd614f..e9ea616c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,8 @@ cmake_minimum_required(VERSION 3.13) +# 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 From a943f677d88037f1e0b9cc709e5d9c5d280d57c3 Mon Sep 17 00:00:00 2001 From: Conrad Clevenger Date: Thu, 11 Dec 2025 13:03:49 -0500 Subject: [PATCH 2/4] Remove c++ standard specifics from core/CMakeLists.txt This option was not actually forcing the cxx version when I changed to 20... --- src/core/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 6e969021..edd83db3 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -59,9 +59,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 0e1efcf80396fd8bb5ae8854537ac8ef7cc429a2 Mon Sep 17 00:00:00 2001 From: Conrad Clevenger Date: Thu, 11 Dec 2025 13:04:03 -0500 Subject: [PATCH 3/4] Remove cmake arg from cactus --- 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 8b79f4fff773f2503c669a0369d6a501dcf58f6f Mon Sep 17 00:00:00 2001 From: Conrad Clevenger Date: Tue, 27 Jan 2026 15:34:53 -0500 Subject: [PATCH 4/4] Update spdlog Resolves some C++20 errors --- extern/spdlog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/spdlog b/extern/spdlog index bdd1dff3..472945ba 160000 --- a/extern/spdlog +++ b/extern/spdlog @@ -1 +1 @@ -Subproject commit bdd1dff3788ebfe520f48f9ad216c60da6dd8f00 +Subproject commit 472945ba489e3f5684761affc431ae532ab5ed8c