Added Cinch Spackage (#11759)
* Added Cinch Spackage and updated Flecsi to Use It Added spackage for Cinch build system and updated flecsi spackage to use the external version of cinch * Flake8 compliance for Cinch and Flecsi * Fixed Cinch Issue and Requested PR Changes Swapped cinch back to master branch rather than test branch and style issues for PR
This commit is contained in:

committed by
Adam J. Stewart

parent
d21bec996e
commit
2eee507914
28
var/spack/repos/builtin/packages/cinch/package.py
Normal file
28
var/spack/repos/builtin/packages/cinch/package.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Cinch(Package):
|
||||
"""
|
||||
Cinch is a set of utilities and configuration options designed to make
|
||||
cmake builds easy to use and manage.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/laristra/cinch"
|
||||
url = "https://github.com/laristra/cinch/archive/1.0.zip"
|
||||
git = "https://github.com/laristra/cinch.git"
|
||||
|
||||
version('develop', branch='master', submodules=False)
|
||||
version('1.0', sha256='98b73473829b478191481621d84c3d63c662da6e951321f858a032eae3ca07b7')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# (CMake) Header Only library so just copy
|
||||
install_tree(self.stage.source_path, prefix)
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||
spack_env.prepend_path('CMAKE_PREFIX_PATH', self.prefix)
|
||||
spack_env.set('CINCH_SOURCE_DIR', self.prefix)
|
@@ -20,7 +20,7 @@ class Flecsi(CMakePackage):
|
||||
homepage = "http://flecsi.lanl.gov/"
|
||||
git = "https://github.com/laristra/flecsi.git"
|
||||
|
||||
version('develop', branch='master', submodules=True)
|
||||
version('develop', branch='master', submodules=False)
|
||||
variant('backend', default='mpi', values=('serial', 'mpi', 'legion'),
|
||||
description="Backend to use for distributed memory")
|
||||
variant('graphviz', default=False,
|
||||
@@ -29,6 +29,8 @@ class Flecsi(CMakePackage):
|
||||
description='Build FleCSI Tutorials')
|
||||
|
||||
depends_on("cmake@3.1:", 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~pshm", when='backend=legion')
|
||||
@@ -43,22 +45,23 @@ class Flecsi(CMakePackage):
|
||||
|
||||
def cmake_args(self):
|
||||
options = ['-DCMAKE_BUILD_TYPE=debug']
|
||||
options.append('-DCINCH_SOURCE_DIR=' + self.spec['cinch'].prefix)
|
||||
|
||||
if self.spec.variants['backend'].value == 'legion':
|
||||
options.extend(['-DFLECSI_RUNTIME_MODEL=legion'])
|
||||
options.append('-DFLECSI_RUNTIME_MODEL=legion')
|
||||
elif self.spec.variants['backend'].value == 'mpi':
|
||||
options.extend(['-DFLECSI_RUNTIME_MODEL=mpi'])
|
||||
options.append('-DFLECSI_RUNTIME_MODEL=mpi')
|
||||
else:
|
||||
options.extend(['-DFLECSI_RUNTIME_MODEL=serial'])
|
||||
options.extend([
|
||||
options.append('-DFLECSI_RUNTIME_MODEL=serial')
|
||||
options.append(
|
||||
'-DENABLE_MPI=OFF',
|
||||
])
|
||||
)
|
||||
|
||||
if '+tutorial' in self.spec:
|
||||
options.extend(['-DENABLE_FLECSIT=ON'])
|
||||
options.extend(['-DENABLE_FLECSI_TUTORIAL=ON'])
|
||||
options.append('-DENABLE_FLECSIT=ON')
|
||||
options.append('-DENABLE_FLECSI_TUTORIAL=ON')
|
||||
else:
|
||||
options.extend(['-DENABLE_FLECSIT=OFF'])
|
||||
options.extend(['-DENABLE_FLECSI_TUTORIAL=OFF'])
|
||||
options.append('-DENABLE_FLECSIT=OFF')
|
||||
options.append('-DENABLE_FLECSI_TUTORIAL=OFF')
|
||||
|
||||
return options
|
||||
|
Reference in New Issue
Block a user