flecsi: add mpi interoperability (#4000)
This commit is contained in:
parent
5d6a488c69
commit
6f62a4fe36
@ -39,19 +39,21 @@ class Flecsi(CMakePackage):
|
|||||||
homepage = "http://flecsi.lanl.gov/"
|
homepage = "http://flecsi.lanl.gov/"
|
||||||
url = "https://github.com/laristra/flecsi/tarball/v1.0"
|
url = "https://github.com/laristra/flecsi/tarball/v1.0"
|
||||||
|
|
||||||
version('develop', git='https://github.com/laristra/flecsi', branch='master', submodules=True)
|
version('develop', git='https://github.com/laristra/flecsi', branch='master', submodules=False)
|
||||||
|
|
||||||
variant('debug', default=False, description='Build debug version')
|
variant('debug', default=False, description='Build debug version')
|
||||||
|
variant('mpi', default=True,
|
||||||
|
description='Build on top of mpi conduit for mpi inoperability')
|
||||||
|
|
||||||
depends_on("cmake@3.1:", type='build')
|
depends_on("cmake@3.1:", type='build')
|
||||||
depends_on("legion")
|
depends_on("legion+shared", when='~mpi')
|
||||||
|
depends_on("legion+shared+mpi", when='+mpi')
|
||||||
|
|
||||||
# drop when #3779 has been fixed
|
# drop when #3958 has been merged
|
||||||
def do_fetch(self, mirror_only=True):
|
def do_fetch(self, mirror_only=True):
|
||||||
super(Flecsi, self).do_fetch(mirror_only)
|
super(Flecsi, self).do_fetch(mirror_only)
|
||||||
git = which("git")
|
git = which("git")
|
||||||
git('-C', 'flecsi', 'submodule', 'update', '--init', '--recursive',
|
git('-C', 'flecsi', 'submodule', 'update', '--init', '--recursive')
|
||||||
'--depth=1')
|
|
||||||
|
|
||||||
def build_type(self):
|
def build_type(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
@ -61,4 +63,12 @@ def build_type(self):
|
|||||||
return 'Release'
|
return 'Release'
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
return ['-DENABLE_UNIT_TESTS=ON']
|
options = ['-DENABLE_UNIT_TESTS=ON']
|
||||||
|
|
||||||
|
if '+mpi' in self.spec:
|
||||||
|
options.extend([
|
||||||
|
'-DENABLE_MPI=ON',
|
||||||
|
'-DFLECSI_RUNTIME_MODEL=mpilegion'
|
||||||
|
])
|
||||||
|
|
||||||
|
return options
|
||||||
|
@ -66,7 +66,7 @@ def cmake_args(self):
|
|||||||
options = [
|
options = [
|
||||||
'-DLegion_USE_GASNet=ON',
|
'-DLegion_USE_GASNet=ON',
|
||||||
'-DLegion_BUILD_EXAMPLES=ON',
|
'-DLegion_BUILD_EXAMPLES=ON',
|
||||||
'-DBUILD_SHARED_LIBS=%s' % ('+shared' in spec)]
|
'-DBUILD_SHARED_LIBS=%s' % ('+shared' in self.spec)]
|
||||||
|
|
||||||
if '+mpi' in self.spec:
|
if '+mpi' in self.spec:
|
||||||
options.append('-DGASNet_CONDUIT=mpi')
|
options.append('-DGASNet_CONDUIT=mpi')
|
||||||
|
Loading…
Reference in New Issue
Block a user