summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/hdf5
diff options
context:
space:
mode:
authorJared Popelar <jdpopelar@gmail.com>2022-11-17 11:40:53 -0700
committerGitHub <noreply@github.com>2022-11-17 10:40:53 -0800
commit381bedf3693bbd228915c28fc47d73dbd60af1cd (patch)
treeb4ce064504f2208f2a1deef48085378808b1dc5a /var/spack/repos/builtin/packages/hdf5
parent6811651a0f546b6c59f421f9a92828a108b4f8c8 (diff)
downloadspack-381bedf3693bbd228915c28fc47d73dbd60af1cd.tar.gz
spack-381bedf3693bbd228915c28fc47d73dbd60af1cd.tar.bz2
spack-381bedf3693bbd228915c28fc47d73dbd60af1cd.tar.xz
spack-381bedf3693bbd228915c28fc47d73dbd60af1cd.zip
Hdf5 package: build on Windows (#31141)
* Enable hdf5 build (including +mpi) on Windows * This includes updates to hdf5 dependencies openssl (minor edit) and bzip2 (more-extensive edits) * Add binary-based installation of msmpi (this is currently the only supported MPI implementation in Spack for Windows). Note that this does not install to the Spack-specified prefix. This implementation will be replaced with a source-based implementation Co-authored-by: John Parent <john.parent@kitware.com>
Diffstat (limited to 'var/spack/repos/builtin/packages/hdf5')
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index dd47e2bd4d..c716e2b90b 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -196,13 +196,16 @@ class Hdf5(CMakePackage):
depends_on("cmake@3.12:", type="build")
+ depends_on("msmpi", when="+mpi platform=windows")
depends_on("mpi", when="+mpi")
depends_on("java", type=("build", "run"), when="+java")
depends_on("szip", when="+szip")
depends_on("zlib@1.1.2:")
# The compiler wrappers (h5cc, h5fc, etc.) run 'pkg-config'.
- depends_on("pkgconfig", type="run")
+ # Skip this on Windows since pkgconfig is autotools
+ for plat in ["cray", "darwin", "linux"]:
+ depends_on("pkgconfig", when="platform=%s" % plat, type="run")
conflicts("api=v114", when="@1.6:1.12", msg="v114 is not compatible with this release")
conflicts("api=v112", when="@1.6:1.10", msg="v112 is not compatible with this release")
@@ -498,7 +501,7 @@ class Hdf5(CMakePackage):
if api != "default":
args.append(self.define("DEFAULT_API_VERSION", api))
- if "+mpi" in spec:
+ if "+mpi" in spec and "platform=windows" not in spec:
args.append(self.define("CMAKE_C_COMPILER", spec["mpi"].mpicc))
if "+cxx" in self.spec:
@@ -567,7 +570,7 @@ class Hdf5(CMakePackage):
r"(Requires(?:\.private)?:.*)(hdf5[^\s,]*)(?:-[^\s,]*)(.*)",
r"\1\2\3",
*pc_files,
- backup=False
+ backup=False,
)
# Create non-versioned symlinks to the versioned pkg-config files: