1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# Copyright 2013-2022 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 Wi4mpi(CMakePackage):
"""WI4MPI: Wrapper Interface For MPI performing a light translation between MPI
constants and MPI objects from an MPI implementation to another one"""
homepage = "https://github.com/cea-hpc/wi4mpi"
url = "https://github.com/cea-hpc/wi4mpi/archive/v3.4.1.tar.gz"
maintainers = ['adrien-cotte', 'marcjoos-cea']
version('3.5.0', sha256='36dd3dfed4f0f37bc817204d4810f049e624900b1b32641122f09a183135522f')
version('3.4.1', sha256='92bf6738216426069bc07bff19cd7c933e33e397a941ff9f89a639380fab3737')
version('3.3.0', sha256='fb7fb3b591144e90b3d688cf844c2246eb185f54e1da6baef857e035ef730d96')
version('3.2.2', sha256='23ac69740577d66a68ddd5360670f0a344e3c47a5d146033c63a67e54e56c66f')
version('3.2.1', sha256='0d928cb930b6cb1ae648eca241db59812ee0e5c041faf2f57728bbb6ee4e36df')
version('3.2.0', sha256='3322f6823dbec1d58a1fcf163b2bcdd7b9cd75dc6c7f78865fc6cb0a91bf6f94')
variant('build_type', default='Release',
description='The build type to build',
values=('Debug', 'Release', 'RelWithDebInfo'))
depends_on('mpi')
def cmake_args(self):
if '%gcc' in self.spec:
compiler = "GNU"
elif '%intel' in self.spec:
compiler = "INTEL"
elif '%clang' in self.spec:
compiler = "LLVM"
elif '%pgi' in self.spec:
compiler = "PGI"
else:
tty.error("Could not determine compiler used")
wi4mpi_build_type = 'RELEASE'
if self.spec.variants["build_type"].value == "RelWithDebInfo":
wi4mpi_build_type = 'NORMAL'
elif self.spec.variants["build_type"].value == "Debug":
wi4mpi_build_type = 'DEBUG'
args = [
self.define('WI4MPI_REALEASE', wi4mpi_build_type),
self.define('WI4MPI_COMPILER', compiler)
]
return args
def setup_run_environment(self, env):
env.set('WI4MPI_ROOT', self.prefix)
env.set('WI4MPI_VERSION', str(self.version))
env.set('WI4MPI_CC', self.compiler.cc)
env.set('WI4MPI_CXX', self.compiler.cxx)
env.set('WI4MPI_FC', self.compiler.fc)
|