gaudi: add v39.2; CUDA support (#48557)
* gaudi: add v39.2; CUDA support * gaudi: CUDAPackage -> CudaPackage
This commit is contained in:
parent
518572e710
commit
81e6dcd95c
@ -7,7 +7,7 @@
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class Gaudi(CMakePackage):
|
||||
class Gaudi(CMakePackage, CudaPackage):
|
||||
"""An experiment-independent HEP event data processing framework"""
|
||||
|
||||
homepage = "https://gaudi.web.cern.ch/gaudi/"
|
||||
@ -17,6 +17,7 @@ class Gaudi(CMakePackage):
|
||||
tags = ["hep"]
|
||||
|
||||
version("master", branch="master")
|
||||
version("39.2", sha256="9697f5092df49187e3d30256c821a4400534e77ddaa2d976ba4bb22745c904d6")
|
||||
version("39.1", sha256="acdeddcc2383a127b1ad4b0bdaf9f1c6699b64105e0c1d8095c560c96c157885")
|
||||
version("39.0", sha256="faa3653e2e6c769292c0592e3fc35cd98a2820bd6fc0c967cac565808b927262")
|
||||
version("38.3", sha256="47e8c65ea446656d2dae54a32205525e08257778cf80f9f029cd244d6650486e")
|
||||
@ -46,6 +47,11 @@ class Gaudi(CMakePackage):
|
||||
depends_on("cxx", type="build")
|
||||
|
||||
conflicts("%gcc@:10", when="@39:", msg="Gaudi needs a c++20 capable compiler for this version")
|
||||
conflicts("+cuda", when="@:39.1", msg="Gaudi CUDA is only available in version 39.2 and later")
|
||||
|
||||
# Require %gcc@13 for <format> header
|
||||
conflicts("%gcc@:12", when="+cuda @39.2:", msg="GaudiCUDA requires gcc-13.1 or later")
|
||||
conflicts("%gcc@:12", when="+unwind @39.2:", msg="GaudiProfiling requires gcc-13.1 or later")
|
||||
|
||||
maintainers("drbenmorgan", "vvolkl", "jmcarcell")
|
||||
|
||||
@ -143,6 +149,10 @@ def patch(self):
|
||||
# accidentally in a higher directory than the stage directory
|
||||
touch("pytest.ini")
|
||||
|
||||
# ensure <fmt/format.h> is included instead of <format> for 39.2
|
||||
if self.spec.satisfies("@39.2"):
|
||||
filter_file("<format>", "<fmt/format.h>", "GaudiSvc/src/THistSvc/THistSvc.cpp")
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
# Note: gaudi only builds examples when testing enabled
|
||||
@ -150,6 +160,7 @@ def cmake_args(self):
|
||||
self.define_from_variant("GAUDI_BUILD_EXAMPLES", "examples"),
|
||||
self.define_from_variant("GAUDI_USE_AIDA", "aida"),
|
||||
self.define_from_variant("GAUDI_USE_CPPUNIT", "cppunit"),
|
||||
self.define_from_variant("GAUDI_USE_CUDA", "cuda"),
|
||||
self.define_from_variant("GAUDI_ENABLE_GAUDIALG", "gaudialg"),
|
||||
self.define_from_variant("GAUDI_USE_GPERFTOOLS", "gperftools"),
|
||||
self.define_from_variant("GAUDI_USE_HEPPDT", "heppdt"),
|
||||
|
Loading…
Reference in New Issue
Block a user