From 394ed4f90d042aab8135312602c3377e67bf37ae Mon Sep 17 00:00:00 2001 From: Luc Berger Date: Mon, 30 Sep 2024 17:10:20 -0600 Subject: Kokkos sanity checks (#44589) * Kokkos: adding some sanity checks We can pretty much guarentee that if bin, include or lib directory is missing, something is wrong. Additionally KokkosCore_config.h and Kokkos_Core.hpp. I guess technically we could look for all public headers at least but that seems a bit overkill as well? * Kokkos Kernels: adding sanity checks * Remove check for lib directory since it might end up being lib64 * Also remove lib from kokkos-kernels sanity check --- var/spack/repos/builtin/packages/kokkos-kernels/package.py | 4 ++++ var/spack/repos/builtin/packages/kokkos/package.py | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/var/spack/repos/builtin/packages/kokkos-kernels/package.py b/var/spack/repos/builtin/packages/kokkos-kernels/package.py index e28ad8be82..0187de16b9 100644 --- a/var/spack/repos/builtin/packages/kokkos-kernels/package.py +++ b/var/spack/repos/builtin/packages/kokkos-kernels/package.py @@ -167,6 +167,10 @@ class KokkosKernels(CMakePackage, CudaPackage): variant("shared", default=True, description="Build shared libraries") + # sanity check + sanity_check_is_file = [join_path("include", "KokkosKernels_config.h")] + sanity_check_is_dir = ["include"] + def cmake_args(self): spec = self.spec options = [] diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py index 20d6c94474..ed95535469 100644 --- a/var/spack/repos/builtin/packages/kokkos/package.py +++ b/var/spack/repos/builtin/packages/kokkos/package.py @@ -265,6 +265,13 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage): "KokkosConfigCommon.cmake", relative_root=os.path.join("lib64", "cmake", "Kokkos") ) + # sanity check + sanity_check_is_file = [ + join_path("include", "KokkosCore_config.h"), + join_path("include", "Kokkos_Core.hpp"), + ] + sanity_check_is_dir = ["bin", "include"] + @classmethod def get_microarch(cls, target): """Get the Kokkos microarch name for a Spack target (spec.target).""" -- cgit v1.2.3-70-g09d2