add more legion version and expose more flecsi options (#13741)
* add more legion version and expose more flecsi options * formatting * update version pointing to master to master * fix indentation * Update package.py * Update package.py * Update package.py * Update package.py * Update package.py * Update package.py * use self.run_tests Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update package.py * Update package.py * Update package.py * Update package.py
This commit is contained in:
parent
99dfff4475
commit
bb0667ceaf
@ -17,13 +17,29 @@ class Flecsi(CMakePackage):
|
||||
n-dimensional hashed-tree data structures, graph partitioning
|
||||
interfaces,and dependency closures.
|
||||
'''
|
||||
homepage = 'http://flecsi.lanl.gov/'
|
||||
homepage = 'http://flecsi.org/'
|
||||
git = 'https://github.com/laristra/flecsi.git'
|
||||
|
||||
version('develop', branch='master', submodules=False, preferred=True)
|
||||
version('master', branch='master', submodules=False, preferred=True)
|
||||
|
||||
variant('backend', default='mpi', values=('serial', 'mpi', 'legion'),
|
||||
description='Backend to use for distributed memory')
|
||||
variant('build_type', default='Release', values=('Debug', 'Release'),
|
||||
description='The build type to build', multi=False)
|
||||
variant('backend', default='mpi', values=('serial', 'mpi', 'legion', 'hpx'),
|
||||
description='Backend to use for distributed memory', multi=False)
|
||||
variant('minimal', default=False,
|
||||
description='Disable FindPackageMetis')
|
||||
variant('shared', default=True,
|
||||
description='Build shared libraries')
|
||||
variant('flog', default=False,
|
||||
description='Enable flog testing')
|
||||
variant('doxygen', default=False,
|
||||
description='Enable doxygen')
|
||||
variant('doc', default=False,
|
||||
description='Enable documentation')
|
||||
variant('coverage', default=False,
|
||||
description='Enable coverage build')
|
||||
variant('hdf5', default=False,
|
||||
description='Enable HDF5 Support')
|
||||
variant('caliper', default=False,
|
||||
description='Enable Caliper Support')
|
||||
variant('graphviz', default=False,
|
||||
@ -33,50 +49,97 @@ class Flecsi(CMakePackage):
|
||||
variant('flecstan', default=False,
|
||||
description='Build FleCSI Static Analyzer')
|
||||
|
||||
depends_on('cmake@3.1:', type='build')
|
||||
depends_on('cmake@3.12:', type='build')
|
||||
# Requires cinch > 1.0 due to cinchlog installation issue
|
||||
depends_on('cinch@1.01:', type='build')
|
||||
depends_on('mpi', when='backend=mpi')
|
||||
depends_on('mpi', when='backend=legion')
|
||||
depends_on('gasnet@2019.3.0 ~pshm', when='backend=legion')
|
||||
depends_on('legion@ctrl-rep +shared +mpi', when='backend=legion')
|
||||
depends_on('boost@1.59.0: cxxstd=11 +program_options')
|
||||
depends_on('mpi', when='backend=hpx')
|
||||
depends_on('legion@ctrl-rep +shared +mpi +hdf5', when='backend=legion +hdf5')
|
||||
depends_on('legion@ctrl-rep +shared +mpi', when='backend=legion ~hdf5')
|
||||
depends_on('hpx@1.3.0 cxxstd=14', when='backend=hpx')
|
||||
depends_on('boost@1.70.0: cxxstd=14 +program_options')
|
||||
depends_on('metis@5.1.0:')
|
||||
depends_on('parmetis@4.0.3:')
|
||||
depends_on('hdf5', when='+hdf5')
|
||||
depends_on('caliper', when='+caliper')
|
||||
depends_on('graphviz', when='+graphviz')
|
||||
depends_on('python@3.0:', when='+tutorial')
|
||||
depends_on('llvm', when='+flecstan')
|
||||
|
||||
def cmake_args(self):
|
||||
options = ['-DCMAKE_BUILD_TYPE=debug']
|
||||
options.append('-DCINCH_SOURCE_DIR=' + self.spec['cinch'].prefix)
|
||||
conflicts('+tutorial', when='backend=hpx')
|
||||
# conflicts('+hdf5', when='backend=hpx')
|
||||
# conflicts('+hdf5', when='backend=mpi')
|
||||
|
||||
if self.spec.variants['backend'].value == 'legion':
|
||||
def cmake_args(self):
|
||||
spec = self.spec
|
||||
options = ['-DENABLE_OPENMP=ON',
|
||||
'-DCXX_CONFORMANCE_STANDARD=c++17',
|
||||
'-DENABLE_METIS=ON',
|
||||
'-DENABLE_PARMETIS=ON',
|
||||
'-DENABLE_COLORING=ON',
|
||||
'-DENABLE_DEVEL_TARGETS=ON'
|
||||
]
|
||||
options.append('-DCINCH_SOURCE_DIR=' + spec['cinch'].prefix)
|
||||
|
||||
if spec.variants['backend'].value == 'legion':
|
||||
options.append('-DFLECSI_RUNTIME_MODEL=legion')
|
||||
elif self.spec.variants['backend'].value == 'mpi':
|
||||
options.append('-DENABLE_MPI=ON')
|
||||
elif spec.variants['backend'].value == 'mpi':
|
||||
options.append('-DFLECSI_RUNTIME_MODEL=mpi')
|
||||
options.append('-DENABLE_MPI=ON')
|
||||
elif spec.variants['backend'].value == 'hpx':
|
||||
options.append('-DFLECSI_RUNTIME_MODEL=hpx')
|
||||
options.append('-DENABLE_MPI=ON')
|
||||
else:
|
||||
options.append('-DFLECSI_RUNTIME_MODEL=serial')
|
||||
options.append(
|
||||
'-DENABLE_MPI=OFF',
|
||||
)
|
||||
options.append('-DENABLE_MPI=OFF')
|
||||
|
||||
if '+tutorial' in self.spec:
|
||||
if '+minimal' in spec:
|
||||
options.append('-DCMAKE_DISABLE_FIND_PACKAGE_METIS=ON')
|
||||
else:
|
||||
options.append('-DCMAKE_DISABLE_FIND_PACKAGE_METIS=OFF')
|
||||
if '+shared' in spec:
|
||||
options.append('-DBUILD_SHARED_LIBS=ON')
|
||||
else:
|
||||
options.append('-DBUILD_SHARED_LIBS=OFF')
|
||||
|
||||
if self.run_tests:
|
||||
options.append('-DENABLE_UNIT_TESTS=ON')
|
||||
else:
|
||||
options.append('-DENABLE_UNIT_TESTS=OFF')
|
||||
|
||||
if '+hdf5' in spec and spec.variants['backend'].value == 'legion':
|
||||
options.append('-DENABLE_HDF5=ON')
|
||||
else:
|
||||
options.append('-DENABLE_HDF5=OFF')
|
||||
if '+caliper' in spec:
|
||||
options.append('-DENABLE_CALIPER=ON')
|
||||
else:
|
||||
options.append('-DENABLE_CALIPER=OFF')
|
||||
if '+tutorial' in spec:
|
||||
options.append('-DENABLE_FLECSIT=ON')
|
||||
options.append('-DENABLE_FLECSI_TUTORIAL=ON')
|
||||
else:
|
||||
options.append('-DENABLE_FLECSIT=OFF')
|
||||
options.append('-DENABLE_FLECSI_TUTORIAL=OFF')
|
||||
|
||||
if '+caliper' in self.spec:
|
||||
options.append('-DENABLE_CALIPER=ON')
|
||||
else:
|
||||
options.append('-DENABLE_CALIPER=OFF')
|
||||
|
||||
if '+flecstan' in self.spec:
|
||||
if '+flecstan' in spec:
|
||||
options.append('-DENABLE_FLECSTAN=ON')
|
||||
else:
|
||||
options.append('-DENABLE_FLECSTAN=OFF')
|
||||
|
||||
if '+doxygen' in spec:
|
||||
options.append('-DENABLE_DOXYGEN=ON')
|
||||
else:
|
||||
options.append('-DENABLE_DOXYGEN=OFF')
|
||||
if '+doc' in spec:
|
||||
options.append('-DENABLE_DOCUMENTATION=ON')
|
||||
else:
|
||||
options.append('-DENABLE_DOCUMENTATION=OFF')
|
||||
if '+coverage' in spec:
|
||||
options.append('-DENABLE_COVERAGE_BUILD=ON')
|
||||
else:
|
||||
options.append('-DENABLE_COVERAGE_BUILD=OFF')
|
||||
|
||||
return options
|
||||
|
@ -25,8 +25,11 @@ class Legion(CMakePackage):
|
||||
url = "https://github.com/StanfordLegion/legion/tarball/legion-17.02.0"
|
||||
git = "https://github.com/StanfordLegion/legion.git"
|
||||
|
||||
version('develop', branch='master')
|
||||
version('ctrl-rep', commit='177584e77036c9913d8a62e33b55fa784748759c')
|
||||
version('master', branch='master')
|
||||
version('ctrl-rep', branch='control_replication')
|
||||
version('ctrl-rep-2', commit='96682fd8aae071ecd30a3ed5f481a9d84457a4b6')
|
||||
version('ctrl-rep-1', commit='a03671b21851d5f0d3f63210343cb61a630f4405')
|
||||
version('ctrl-rep-0', commit='177584e77036c9913d8a62e33b55fa784748759c')
|
||||
version('19.06.0', sha256='31cd97e9264c510ab83b1f9e8e1e6bf72021a0c6ee4a028966fce08736e39fbf')
|
||||
version('19.04.0', sha256='279bbc8dcdab4c75be570318989a9fc9821178143e9db9c3f62e58bf9070b5ac')
|
||||
version('18.12.0', sha256='71f2c409722975c0ad92f2caffcc9eaa9260f7035e2b55b731d819eb6a94016c')
|
||||
|
Loading…
Reference in New Issue
Block a user