diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py index ddfa8a8b94a5fd181763c3108c76f571e674b912..2d93ee0e3aadb364464754833cb62bc121b30f33 100644 --- a/var/spack/repos/builtin/packages/legion/package.py +++ b/var/spack/repos/builtin/packages/legion/package.py @@ -47,9 +47,13 @@ class Legion(CMakePackage): version('17.02.0', '31ac3004e2fb0996764362d2b6f6844a') variant('debug', default=False, description='Build debug version') + variant('mpi', default=True, + description='Build on top of mpi conduit for mpi inoperability') + variant('shared', default=True, description='Build shared libraries') depends_on("cmake@3.1:", type='build') - depends_on("gasnet") + depends_on("gasnet", when='~mpi') + depends_on("gasnet+mpi", when='+mpi') def build_type(self): spec = self.spec @@ -59,4 +63,12 @@ def build_type(self): return 'Release' def cmake_args(self): - return ['-DLegion_USE_GASNet=ON', '-DLegion_BUILD_EXAMPLES=ON'] + options = [ + '-DLegion_USE_GASNet=ON', + '-DLegion_BUILD_EXAMPLES=ON', + '-DBUILD_SHARED_LIBS=%s' % ('+shared' in spec)] + + if '+mpi' in self.spec: + options.append('-DGASNet_CONDUIT=mpi') + + return options