helics: Add version 3.6.0 (#48000)
* helics: Add version 3.6.0 * helics: Add constraints for new minimum CMake (3.22+), Boost (1.75+), GCC (11+), Clang (15+), and ICC (21+) versions in HELICS 3.6+ --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Ryan Mast <mast9@llnl.gov>
This commit is contained in:
parent
25f24d947a
commit
f469a3d6ab
@ -22,6 +22,7 @@ class Helics(CMakePackage):
|
||||
version("develop", branch="develop", submodules=True)
|
||||
version("main", branch="main", submodules=True)
|
||||
version("master", branch="main", submodules=True)
|
||||
version("3.6.0", sha256="e111ac5d92e808f27e330afd1f8b8ca4d86adf6ccd74e3280f2d40fb3e0e2ce9")
|
||||
version("3.5.3", sha256="f9ace240510b18caf642f55d08f9009a9babb203fbc032ec7d7d8aa6fd5e1553")
|
||||
version("3.5.2", sha256="c2604694698a1e33c4a68f3d1c5ab0a228ef2bfca1b0d3bae94801dbd3b11048")
|
||||
version("3.5.1", sha256="546fc6e6a85de6ba841e4bd547b811cc81a67a22be5e212ccb54be139d740555")
|
||||
@ -88,8 +89,10 @@ class Helics(CMakePackage):
|
||||
depends_on("git", type="build", when="@master:")
|
||||
depends_on("cmake@3.4:", type="build", when="@:2")
|
||||
depends_on("cmake@3.10:", type="build", when="@3.0.0:3.2.1")
|
||||
depends_on("cmake@3.11:", type="build", when="@3.3.0:")
|
||||
depends_on("boost@1.70:", type="build", when="+boost")
|
||||
depends_on("cmake@3.11:", type="build", when="@3.3.0:3.5.3")
|
||||
depends_on("cmake@3.22:", type="build", when="@3.6.0:")
|
||||
depends_on("boost@1.70:", type="build", when="@:3.5.3 +boost")
|
||||
depends_on("boost@1.75:", type="build", when="@3.6.0: +boost")
|
||||
|
||||
# TODO: replace this with an explicit list of components of Boost,
|
||||
# for instance depends_on('boost +filesystem')
|
||||
@ -105,11 +108,24 @@ class Helics(CMakePackage):
|
||||
depends_on("python@3:", when="@:2 +python")
|
||||
|
||||
# Compiler restrictions based on C++ standard supported
|
||||
conflicts("%gcc@:6", when="@3.0.0:", msg="HELICS 3+ cannot be built with GCC older than 7.0")
|
||||
conflicts(
|
||||
"%clang@:4", when="@3.0.0:", msg="HELICS 3+ cannot be built with Clang older than 5.0"
|
||||
"%gcc@:6", when="@3.0.0:3.5.3", msg="HELICS 3+ cannot be built with GCC older than 7.0"
|
||||
)
|
||||
conflicts(
|
||||
"%gcc@:11", when="@3.6.0:", msg="HELICS 3.6+ cannot be built with GCC older than 11.0"
|
||||
)
|
||||
conflicts(
|
||||
"%clang@:4", when="@3.0.0:3.5.3", msg="HELICS 3+ cannot be built with Clang older than 5.0"
|
||||
)
|
||||
conflicts(
|
||||
"%clang@:15", when="@3.6.0:", msg="HELICS 3.6+ cannot be built with Clang older than 15.0"
|
||||
)
|
||||
conflicts(
|
||||
"%intel@:18", when="@3.0.0:3.5.3", msg="HELICS 3+ cannot be built with ICC older than 19"
|
||||
)
|
||||
conflicts(
|
||||
"%intel@:21", when="@3.6.0:", msg="HELICS 3.6+ cannot be built with ICC older than 21"
|
||||
)
|
||||
conflicts("%intel@:18", when="@3.0.0:", msg="HELICS 3+ cannot be built with ICC older than 19")
|
||||
|
||||
# OpenMPI doesn't work with HELICS <=2.4.1
|
||||
conflicts("^openmpi", when="@:2.4.1 +mpi")
|
||||
@ -174,9 +190,9 @@ def cmake_args(self):
|
||||
# Python interface was removed from the main HELICS build in v3
|
||||
args.append(from_variant("BUILD_PYTHON_INTERFACE", "python"))
|
||||
|
||||
# GCC >=13
|
||||
if spec.satisfies("%gcc@13:"):
|
||||
# C++20 required when building with GCC>=13
|
||||
# GCC >=13 or HELICS 3.6+
|
||||
if spec.satisfies("%gcc@13:") or spec.satisfies("@3.6.0:"):
|
||||
# C++20 required when building with GCC>=13 or HELICS 3.6+
|
||||
args.append("-DCMAKE_CXX_STANDARD=20")
|
||||
|
||||
return args
|
||||
|
Loading…
Reference in New Issue
Block a user