acts: add v15, embrace conditional variants (#27529)
This commit is contained in:
parent
1a95b979d8
commit
596f2e7c4d
1 changed files with 13 additions and 32 deletions
|
@ -39,6 +39,7 @@ class Acts(CMakePackage, CudaPackage):
|
||||||
# Supported Acts versions
|
# Supported Acts versions
|
||||||
version('main', branch='main')
|
version('main', branch='main')
|
||||||
version('master', branch='main', deprecated=True) # For compatibility
|
version('master', branch='main', deprecated=True) # For compatibility
|
||||||
|
version('15.0.0', commit='0fef9e0831a90e946745390882aac871b211eaac', submodules=True)
|
||||||
version('14.1.0', commit='e883ab6acfe5033509ad1c27e8e2ba980dfa59f6', submodules=True)
|
version('14.1.0', commit='e883ab6acfe5033509ad1c27e8e2ba980dfa59f6', submodules=True)
|
||||||
version('14.0.0', commit='f902bef81b60133994315c13f7d32d60048c79d8', submodules=True)
|
version('14.0.0', commit='f902bef81b60133994315c13f7d32d60048c79d8', submodules=True)
|
||||||
version('13.0.0', commit='ad05672e48b693fd37156f1ad62ed57aa82f858c', submodules=True)
|
version('13.0.0', commit='ad05672e48b693fd37156f1ad62ed57aa82f858c', submodules=True)
|
||||||
|
@ -110,31 +111,31 @@ class Acts(CMakePackage, CudaPackage):
|
||||||
version('0.08.0', commit='99eedb38f305e3a1cd99d9b4473241b7cd641fa9')
|
version('0.08.0', commit='99eedb38f305e3a1cd99d9b4473241b7cd641fa9')
|
||||||
|
|
||||||
# Variants that affect the core Acts library
|
# Variants that affect the core Acts library
|
||||||
variant('benchmarks', default=False, description='Build the performance benchmarks')
|
variant('benchmarks', default=False, description='Build the performance benchmarks', when='@0.16:')
|
||||||
variant('examples', default=False, description='Build the examples')
|
variant('examples', default=False, description='Build the examples', when='@0.23: +digitization +fatras +identification +json +tgeo')
|
||||||
variant('integration_tests', default=False, description='Build the integration tests')
|
variant('integration_tests', default=False, description='Build the integration tests')
|
||||||
variant('unit_tests', default=False, description='Build the unit tests')
|
variant('unit_tests', default=False, description='Build the unit tests')
|
||||||
variant('log_failure_threshold', default='MAX', description='Log level above which examples should auto-crash')
|
variant('log_failure_threshold', default='MAX', description='Log level above which examples should auto-crash')
|
||||||
|
|
||||||
# Variants that enable / disable Acts plugins
|
# Variants that enable / disable Acts plugins
|
||||||
variant('autodiff', default=False, description='Build the auto-differentiation plugin')
|
variant('autodiff', default=False, description='Build the auto-differentiation plugin', when='@1.2:')
|
||||||
variant('dd4hep', default=False, description='Build the DD4hep plugin')
|
variant('dd4hep', default=False, description='Build the DD4hep plugin', when='+tgeo')
|
||||||
variant('digitization', default=False, description='Build the geometric digitization plugin')
|
variant('digitization', default=False, description='Build the geometric digitization plugin')
|
||||||
variant('fatras', default=False, description='Build the FAst TRAcking Simulation package')
|
variant('fatras', default=False, description='Build the FAst TRAcking Simulation package', when='@0.16:')
|
||||||
variant('fatras_geant4', default=False, description='Build Geant4 Fatras package')
|
variant('fatras_geant4', default=False, description='Build Geant4 Fatras package')
|
||||||
variant('identification', default=False, description='Build the Identification plugin')
|
variant('identification', default=False, description='Build the Identification plugin')
|
||||||
variant('json', default=False, description='Build the Json plugin')
|
variant('json', default=False, description='Build the Json plugin')
|
||||||
variant('legacy', default=False, description='Build the Legacy package')
|
variant('legacy', default=False, description='Build the Legacy package')
|
||||||
# FIXME: Cannot build ONNX plugin as Spack doesn't have an ONNX runtime
|
# FIXME: Cannot build ONNX plugin as Spack doesn't have an ONNX runtime
|
||||||
# FIXME: Cannot build SyCL plugin yet as Spack doesn't have SyCL support
|
# FIXME: Cannot build SyCL plugin yet as Spack doesn't have SyCL support
|
||||||
variant('tgeo', default=False, description='Build the TGeo plugin')
|
variant('tgeo', default=False, description='Build the TGeo plugin', when='+identification')
|
||||||
variant('alignment', default=False, description='Build the alignment package')
|
variant('alignment', default=False, description='Build the alignment package', when='@13:')
|
||||||
|
|
||||||
# Variants that only affect Acts examples for now
|
# Variants that only affect Acts examples for now
|
||||||
variant('geant4', default=False, description='Build the Geant4-based examples')
|
variant('geant4', default=False, description='Build the Geant4-based examples', when='@0.23: +examples')
|
||||||
variant('hepmc3', default=False, description='Build the HepMC3-based examples')
|
variant('hepmc3', default=False, description='Build the HepMC3-based examples', when='@0.23: +examples')
|
||||||
variant('pythia8', default=False, description='Build the Pythia8-based examples')
|
variant('pythia8', default=False, description='Build the Pythia8-based examples', when='@0.23: +examples')
|
||||||
variant('python', default=False, description='Build python bindings for the examples')
|
variant('python', default=False, description='Build python bindings for the examples', when='@14: +examples')
|
||||||
variant('analysis', default=False, description='Build analysis applications in the examples')
|
variant('analysis', default=False, description='Build analysis applications in the examples')
|
||||||
|
|
||||||
# Build dependencies
|
# Build dependencies
|
||||||
|
@ -159,27 +160,7 @@ class Acts(CMakePackage, CudaPackage):
|
||||||
depends_on('root @6.10: cxxstd=14', when='+tgeo @:0.8.0')
|
depends_on('root @6.10: cxxstd=14', when='+tgeo @:0.8.0')
|
||||||
depends_on('root @6.20: cxxstd=17', when='+tgeo @0.8.1:')
|
depends_on('root @6.20: cxxstd=17', when='+tgeo @0.8.1:')
|
||||||
|
|
||||||
# Some variant combinations do not make sense
|
# ACTS has been using C++17 for a while, which precludes use of old GCC
|
||||||
conflicts('+autodiff', when='@:1.01')
|
|
||||||
conflicts('+benchmarks', when='@:0.15')
|
|
||||||
conflicts('+dd4hep', when='-tgeo')
|
|
||||||
conflicts('+examples', when='@:0.22')
|
|
||||||
conflicts('+examples', when='-digitization')
|
|
||||||
conflicts('+examples', when='-fatras')
|
|
||||||
conflicts('+examples', when='-identification')
|
|
||||||
conflicts('+examples', when='-json')
|
|
||||||
conflicts('+examples', when='-tgeo')
|
|
||||||
conflicts('+fatras', when='@:0.15')
|
|
||||||
conflicts('+geant4', when='@:0.22')
|
|
||||||
conflicts('+geant4', when='-examples')
|
|
||||||
conflicts('+hepmc3', when='@:0.22')
|
|
||||||
conflicts('+hepmc3', when='-examples')
|
|
||||||
conflicts('+pythia8', when='@:0.22')
|
|
||||||
conflicts('+pythia8', when='-examples')
|
|
||||||
conflicts('+python', when='@:13')
|
|
||||||
conflicts('+python', when='-examples')
|
|
||||||
conflicts('+tgeo', when='-identification')
|
|
||||||
conflicts('+alignment', when='@:12')
|
|
||||||
conflicts('%gcc@:7', when='@0.23:')
|
conflicts('%gcc@:7', when='@0.23:')
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
|
|
Loading…
Reference in a new issue