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:
parent
3256ad8e5c
commit
1d27add307
@ -21,25 +21,21 @@ class Mdspan(CMakePackage):
|
||||
variant("examples", default=True, description="Enable examples")
|
||||
variant("tests", default=False, description="Enable tests")
|
||||
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("googletest@main", when="+tests")
|
||||
depends_on("googletest@1.14:1", when="+tests")
|
||||
|
||||
def cmake_args(self):
|
||||
args = []
|
||||
|
||||
if self.spec.satisfies("+tests"):
|
||||
args.append("-DMDSPAN_ENABLE_TESTS=ON")
|
||||
args.append("-DMDSPAN_USE_SYSTEM_GTEST=ON")
|
||||
if self.spec.satisfies("+benchmarks"):
|
||||
args.append("-DMDSPAN_ENABLE_BENCHMARKS=ON")
|
||||
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")
|
||||
args = [
|
||||
self.define_from_variant("MDSPAN_ENABLE_TESTS", "tests"),
|
||||
self.define_from_variant("MDSPAN_USE_SYSTEM_GTEST", "tests"),
|
||||
self.define_from_variant("MDSPAN_ENABLE_BENCHMARKS", "benchmarks"),
|
||||
self.define_from_variant("MDSPAN_ENABLE_EXAMPLES", "examples"),
|
||||
self.define_from_variant("MDSPAN_CXX_STANDARD", "cxxstd"),
|
||||
self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
|
||||
]
|
||||
|
||||
return args
|
||||
|
Loading…
Reference in New Issue
Block a user