From 1c88f674e99f3f814ea6d70c44f08ae26db287fa Mon Sep 17 00:00:00 2001 From: Thomas Padioleau Date: Thu, 30 Apr 2026 09:14:52 +0200 Subject: [PATCH 1/3] Assume semver for Kokkos --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8114f332..de29b9c7 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,7 +53,7 @@ if(GMGPOLAR_ENABLE_COVERAGE) endif() find_package(OpenMP REQUIRED COMPONENTS CXX) -find_package(Kokkos 4.4.1...<5.1 QUIET REQUIRED) +find_package(Kokkos 4.4.1...<6 QUIET REQUIRED) if(GMGPOLAR_USE_MUMPS) find_package(MUMPS REQUIRED COMPONENTS OpenMP METIS) From 952eeb6bdb7577fbf7e8143e9273d268c649c019 Mon Sep 17 00:00:00 2001 From: Thomas Padioleau Date: Thu, 30 Apr 2026 09:19:17 +0200 Subject: [PATCH 2/3] Update GMGPolarConfig --- cmake/GMGPolarConfig.cmake.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/GMGPolarConfig.cmake.in b/cmake/GMGPolarConfig.cmake.in index 228a0644..390a06a6 100644 --- a/cmake/GMGPolarConfig.cmake.in +++ b/cmake/GMGPolarConfig.cmake.in @@ -4,15 +4,15 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") include(CMakeFindDependencyMacro) -find_dependency(OpenMP REQUIRED) -find_dependency(Kokkos REQUIRED) +find_dependency(OpenMP COMPONENTS CXX) +find_dependency(Kokkos) if(@GMGPOLAR_USE_MUMPS@) - find_dependency(MUMPS REQUIRED) + find_dependency(MUMPS COMPONENTS OpenMP METIS) endif() if(@GMGPOLAR_USE_LIKWID@) - find_dependency(LIKWID REQUIRED) + find_dependency(LIKWID) endif() include("${CMAKE_CURRENT_LIST_DIR}/GMGPolarTargets.cmake") From 167cb8e5fb0419b4e08cedb3bff9e26e9f7b9f94 Mon Sep 17 00:00:00 2001 From: Thomas Padioleau Date: Thu, 30 Apr 2026 13:52:13 +0200 Subject: [PATCH 3/3] Add cxx_std_20 on the interface of cmake targets --- src/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8537bb99..fa6675aa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -53,6 +53,9 @@ add_library(GMGPolarLib STATIC ${INTERPOLATION_SOURCES} ) +# Declare C++20 is a minimum required to use GMGPolarLib headers +target_compile_features(GMGPolarLib INTERFACE cxx_std_20) + # Basic library configuration target_include_directories(GMGPolarLib PUBLIC ${GMGPOLAR_INCLUDE_DIRS} @@ -82,6 +85,8 @@ add_library(GMGPolar::GMGPolarLib ALIAS GMGPolarLib) add_library(GMGPolarInterface STATIC ${CONFIG_PARSER_SOURCES} ) +# Declare C++20 is a minimum required to use GMGPolarInterface headers +target_compile_features(GMGPolarInterface INTERFACE cxx_std_20) target_link_libraries(GMGPolarInterface PUBLIC GMGPolarLib