Skip to content
Snippets Groups Projects
Commit 2eee5079 authored by Robert Pavel's avatar Robert Pavel Committed by Adam J. Stewart
Browse files

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
parent d21bec99
Branches
Tags
No related merge requests found
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment