From 04157dedd15d2c43f744899c5daa6774198d30e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Tue, 25 Feb 2025 11:22:22 +0100 Subject: [PATCH] Deactivate Kokkos mdspan impl if standard header is not found --- CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c0f69fcf..2b82d3068 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,9 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") # Forbids in-source builds include(CheckNotInSources) +# Check for some headers +include(CheckIncludeFileCXX) + # use PkgConfig to find packages find_package(PkgConfig REQUIRED) @@ -404,6 +407,13 @@ set(CMAKE_CXX_STANDARD "20") set(KOKKOS_SOURCE_DIR "${PUGS_SOURCE_DIR}/packages/kokkos") set(KOKKOS_BINARY_DIR "${PUGS_BINARY_DIR}/packages/kokkos") +# test since mdspan is not supported by g++-10 and clang-11 (used in CI) +check_include_file_cxx("mdspan" CXX_MDSPAN_SUPPORT) +if (NOT DEFINED ${CXX_MDSPAN_SUPPORT}) + message(STATUS "Kokkos_ENABLE_IMPL_MDSPAN is deactivated since standard library does not support mdspan") + set(Kokkos_ENABLE_IMPL_MDSPAN OFF CACHE BOOL "") +endif() + # disable Kokkos deprecation warnings by default set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "") -- GitLab