podio: new variant cxxstd=(17,20) (#30437)

This commit is contained in:
Wouter Deconinck 2022-09-12 07:44:16 -05:00 committed by GitHub
parent 51ce370412
commit 29093f13ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -78,6 +78,13 @@ class Podio(CMakePackage):
deprecated=True, deprecated=True,
) )
variant(
"cxxstd",
default="17",
values=("17", conditional("20", when="@0.15:")),
multi=False,
description="Use the specified C++ standard when building.",
)
variant("sio", default=False, description="Build the SIO I/O backend") variant("sio", default=False, description="Build the SIO I/O backend")
# cpack config throws an error on some systems # cpack config throws an error on some systems
@ -85,7 +92,8 @@ class Podio(CMakePackage):
patch("dictloading.patch", when="@0.10.0") patch("dictloading.patch", when="@0.10.0")
patch("python-tests.patch", when="@:0.14.0") patch("python-tests.patch", when="@:0.14.0")
depends_on("root@6.08.06: cxxstd=17") depends_on("root@6.08.06: cxxstd=17", when="cxxstd=17")
depends_on("root@6.25.02: cxxstd=20", when="cxxstd=20")
depends_on("cmake@3.8:", type="build") depends_on("cmake@3.8:", type="build")
depends_on("python", type=("build", "run")) depends_on("python", type=("build", "run"))
@ -99,6 +107,7 @@ class Podio(CMakePackage):
def cmake_args(self): def cmake_args(self):
args = [ args = [
self.define_from_variant("ENABLE_SIO", "sio"), self.define_from_variant("ENABLE_SIO", "sio"),
self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value),
self.define("BUILD_TESTING", self.run_tests), self.define("BUILD_TESTING", self.run_tests),
] ]
return args return args