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("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
|
||||||
|
Loading…
Reference in New Issue
Block a user