summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/adios2
diff options
context:
space:
mode:
authorSeth R. Johnson <johnsonsr@ornl.gov>2021-05-19 06:59:06 -0400
committerGitHub <noreply@github.com>2021-05-19 06:59:06 -0400
commit3d2cd480486648cd60c2400b9771df34e7aca684 (patch)
treec4cda21621fba37732020be3a10eb1b0df84c9eb /var/spack/repos/builtin/packages/adios2
parent33df3990de3dc89fcdbefd1cb4b8bfe0b316f43a (diff)
downloadspack-3d2cd480486648cd60c2400b9771df34e7aca684.tar.gz
spack-3d2cd480486648cd60c2400b9771df34e7aca684.tar.bz2
spack-3d2cd480486648cd60c2400b9771df34e7aca684.tar.xz
spack-3d2cd480486648cd60c2400b9771df34e7aca684.zip
Use define_from_variant in numerous CMakePackages (#23655)
Example replacement: ``` '-D(\w+)(:BOOL)?=\{0\}'\.\s*format\s*\(\s*'(ON|YES|true|TRUE)' if '\+(\w+)' in (self\.)?spec else '(OFF|NO|false|FALSE)'\) ``` with ``` self.define_from_variant('\1', '\4') ``` This will cause failures if any variants were misspelled: I have already caught two packages with nonexistent variants.
Diffstat (limited to 'var/spack/repos/builtin/packages/adios2')
-rw-r--r--var/spack/repos/builtin/packages/adios2/package.py52
1 files changed, 18 insertions, 34 deletions
diff --git a/var/spack/repos/builtin/packages/adios2/package.py b/var/spack/repos/builtin/packages/adios2/package.py
index 9bcc8e336f..389d5c7c4a 100644
--- a/var/spack/repos/builtin/packages/adios2/package.py
+++ b/var/spack/repos/builtin/packages/adios2/package.py
@@ -139,47 +139,32 @@ class Adios2(CMakePackage):
def cmake_args(self):
spec = self.spec
+ from_variant = self.define_from_variant
args = [
- '-DBUILD_SHARED_LIBS:BOOL={0}'.format(
- 'ON' if '+shared' in spec else 'OFF'),
+ from_variant('BUILD_SHARED_LIBS', 'shared'),
'-DADIOS2_BUILD_EXAMPLES=OFF',
- '-DADIOS2_USE_MPI={0}'.format(
- 'ON' if '+mpi' in spec else 'OFF'),
+ from_variant('ADIOS2_USE_MPI', 'mpi'),
'-DADIOS2_USE_MGARD=OFF',
- '-DADIOS2_USE_ZFP={0}'.format(
- 'ON' if '+zfp' in spec else 'OFF'),
- '-DADIOS2_USE_SZ={0}'.format(
- 'ON' if '+sz' in spec else 'OFF'),
- '-DADIOS2_USE_DataMan={0}'.format(
- 'ON' if '+dataman' in spec else 'OFF'),
- '-DADIOS2_USE_SST={0}'.format(
- 'ON' if '+sst' in spec else 'OFF'),
- '-DADIOS2_USE_HDF5={0}'.format(
- 'ON' if '+hdf5' in spec else 'OFF'),
- '-DADIOS2_USE_Python={0}'.format(
- 'ON' if '+python' in spec else 'OFF'),
- '-DADIOS2_USE_Fortran={0}'.format(
- 'ON' if '+fortran' in spec else 'OFF'),
- '-DADIOS2_USE_Endian_Reverse={0}'.format(
- 'ON' if '+endian_reverse' in spec else 'OFF'),
- '-DBUILD_TESTING:BOOL={0}'.format(
- 'ON' if self.run_tests else 'OFF'),
+ from_variant('ADIOS2_USE_ZFP', 'zfp'),
+ from_variant('ADIOS2_USE_SZ', 'sz'),
+ from_variant('ADIOS2_USE_DataMan', 'dataman'),
+ from_variant('ADIOS2_USE_SST', 'sst'),
+ from_variant('ADIOS2_USE_HDF5', 'hdf5'),
+ from_variant('ADIOS2_USE_Python', 'python'),
+ from_variant('ADIOS2_USE_Fortran', 'fortran'),
+ from_variant('ADIOS2_USE_Endian_Reverse', 'endian_reverse'),
+ self.define('BUILD_TESTING', self.run_tests),
]
if spec.version >= Version('2.4.0'):
- args.append('-DADIOS2_USE_Blosc={0}'.format(
- 'ON' if '+blosc' in spec else 'OFF'))
- args.append('-DADIOS2_USE_BZip2={0}'.format(
- 'ON' if '+bzip2' in spec else 'OFF'))
- args.append('-DADIOS2_USE_PNG={0}'.format(
- 'ON' if '+png' in spec else 'OFF'))
- args.append('-DADIOS2_USE_SSC={0}'.format(
- 'ON' if '+ssc' in spec else 'OFF'))
+ args.append(from_variant('ADIOS2_USE_Blosc', 'blosc'))
+ args.append(from_variant('ADIOS2_USE_BZip2', 'bzip2'))
+ args.append(from_variant('ADIOS2_USE_PNG', 'png'))
+ args.append(from_variant('ADIOS2_USE_SSC', 'ssc'))
if spec.version >= Version('2.5.0'):
- args.append('-DADIOS2_USE_DataSpaces={0}'.format(
- 'ON' if '+dataspaces' in spec else 'OFF'))
+ args.append(from_variant('ADIOS2_USE_DataSpaces', 'dataspaces'))
if spec.version >= Version('2.6.0'):
args.append('-DADIOS2_USE_IME=OFF')
@@ -197,8 +182,7 @@ class Adios2(CMakePackage):
])
if spec.satisfies('~shared'):
- args.append('-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL={0}'.format(
- 'ON' if '+pic' in spec else 'OFF'))
+ args.append(from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'))
if spec.satisfies('%fj'):
args.extend([