Update mdspan recipe (#50046)

* Remove hard-coded compiler

* Remove compiler flags

* Use spack functions

* Add a cxxstd variant

* Replace main branch of googletest with some random not too old version
This commit is contained in:
Thomas Padioleau 2025-04-16 18:05:10 +02:00 committed by GitHub
parent 3256ad8e5c
commit 1d27add307
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -21,25 +21,21 @@ class Mdspan(CMakePackage):
variant("examples", default=True, description="Enable examples") variant("examples", default=True, description="Enable examples")
variant("tests", default=False, description="Enable tests") variant("tests", default=False, description="Enable tests")
variant("benchmarks", default=False, description="Enable benchmarks") variant("benchmarks", default=False, description="Enable benchmarks")
variant(
"cxxstd", default="17", values=["14", "17", "20"], multi=False, description="C++ standard"
)
depends_on("benchmark", when="+benchmarks") depends_on("benchmark", when="+benchmarks")
depends_on("googletest@main", when="+tests") depends_on("googletest@1.14:1", when="+tests")
def cmake_args(self): def cmake_args(self):
args = [] args = [
self.define_from_variant("MDSPAN_ENABLE_TESTS", "tests"),
if self.spec.satisfies("+tests"): self.define_from_variant("MDSPAN_USE_SYSTEM_GTEST", "tests"),
args.append("-DMDSPAN_ENABLE_TESTS=ON") self.define_from_variant("MDSPAN_ENABLE_BENCHMARKS", "benchmarks"),
args.append("-DMDSPAN_USE_SYSTEM_GTEST=ON") self.define_from_variant("MDSPAN_ENABLE_EXAMPLES", "examples"),
if self.spec.satisfies("+benchmarks"): self.define_from_variant("MDSPAN_CXX_STANDARD", "cxxstd"),
args.append("-DMDSPAN_ENABLE_BENCHMARKS=ON") self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
if self.spec.satisfies("+examples"): ]
args.append("-DMDSPAN_ENABLE_EXAMPLES=ON")
args.append("-DCMAKE_CXX_FLAGS='-Wall -Wextra -pedantic'")
args.append("-DCMAKE_CXX_STANDARD=17")
args.append("-DMDSPAN_CXX_STANDARD=17")
args.append("-DCMAKE_CXX_COMPILER=g++")
args.append("-DCMAKE_CXX_EXTENSIONS=OFF")
return args return args