summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/raja/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/raja/package.py')
-rw-r--r--var/spack/repos/builtin/packages/raja/package.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py
index c2cdf5a607..95af9c750b 100644
--- a/var/spack/repos/builtin/packages/raja/package.py
+++ b/var/spack/repos/builtin/packages/raja/package.py
@@ -32,16 +32,31 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage):
variant('shared', default=True, description='Build Shared Libs')
variant('examples', default=True, description='Build examples.')
variant('exercises', default=True, description='Build exercises.')
+ # TODO: figure out gtest dependency and then set this default True
+ # and remove the +tests conflict below.
+ variant('tests', default=False, description='Build tests')
- conflicts('+openmp', when='+rocm')
+ depends_on('blt', type='build')
+ depends_on('blt@0.3.7:', type='build', when='+rocm')
+
+ depends_on('camp')
+ depends_on('camp+cuda', when='+cuda')
+
+ # variants +rocm and amdgpu_targets are not automatically passed to
+ # dependencies, so do it manually.
+ depends_on('camp+rocm', when='+rocm')
+ for val in ROCmPackage.amdgpu_targets:
+ depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
- depends_on('cmake@3.8:', type='build')
- depends_on('cmake@3.9:', when='+cuda', type='build')
+ conflicts('+openmp', when='+rocm')
def cmake_args(self):
spec = self.spec
options = []
+
+ options.append('-DBLT_SOURCE_DIR={0}'.format(spec['blt'].prefix))
+
options.append('-DENABLE_OPENMP={0}'.format(
'ON' if '+openmp' in spec else 'OFF'))
@@ -84,7 +99,8 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage):
if self.spec.satisfies('%clang target=ppc64le:') or not self.run_tests:
options.append('-DENABLE_TESTS=OFF')
else:
- options.append('-DENABLE_TESTS=ON')
+ options.append('-DENABLE_TESTS={0}'.format(
+ 'ON' if '+tests' in spec else 'OFF'))
return options