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:
		@@ -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')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user