summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJohn W. Parent <45471568+johnwparent@users.noreply.github.com>2024-05-16 19:00:02 -0400
committerGitHub <noreply@github.com>2024-05-16 17:00:02 -0600
commit81fe460194477fb54dcbb83edb9c0a5abf406539 (patch)
treede0fd64552d60544951664d60ce56fb76d287a77 /var
parentb894f996c0401b32ca12fcbf5362eee7d0c84652 (diff)
downloadspack-81fe460194477fb54dcbb83edb9c0a5abf406539.tar.gz
spack-81fe460194477fb54dcbb83edb9c0a5abf406539.tar.bz2
spack-81fe460194477fb54dcbb83edb9c0a5abf406539.tar.xz
spack-81fe460194477fb54dcbb83edb9c0a5abf406539.zip
Gitlab CI: Windows Configs (#43967)
Add support for Gitlab CI on Windows This PR adds the config changes required to configure and execute Gitlab pipelines running Windows builds on Windows runners using the existing Gitlab CI infrastructure (and newly added Windows infrastructure). * Adds support for generating child pipelines dispatched to Windows runners * Refactors the relevant pre-scripts, scripts, and post scripts to be compatible with Windows * Adds Windows config section describing Windows jobs * Adds VTK as Windows build stack (to be expanded later) * Modifies proj to build on Windows * Refactors Windows rpath symlinking to avoid system libs and externals --------- Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com> Co-authored-by: Mike VanDenburgh <michael.vandenburgh@kitware.com> Co-authored-by: Todd Gamblin <tgamblin@llnl.gov> Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/proj/package.py7
-rw-r--r--var/spack/repos/builtin/packages/wgl/package.py16
-rw-r--r--var/spack/repos/builtin/packages/win-sdk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/win-wdk/package.py2
4 files changed, 20 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/proj/package.py b/var/spack/repos/builtin/packages/proj/package.py
index 633ca182f8..9fe7774e48 100644
--- a/var/spack/repos/builtin/packages/proj/package.py
+++ b/var/spack/repos/builtin/packages/proj/package.py
@@ -87,15 +87,14 @@ class Proj(CMakePackage, AutotoolsPackage):
when="@6.2:9.1",
)
- patch("proj.cmakelists.5.0.patch", when="@5.0")
- patch("proj.cmakelists.5.1.patch", when="@5.1:5.2")
-
# https://proj.org/install.html#build-requirements
with when("build_system=cmake"):
# CMake 3.19 refactored the FindTiff module interface, update older proj's
# to be compatible with this "new" interface
# patch replaces the TIFF_LIBRARY variable (no longer used) with TIFF_LIBRARIES
- patch("proj-8.1-cmake-3.29-new-tiff-interface.patch", when="+tiff @:9.1.0 ^cmake@3.19:")
+ patch("proj-8.1-cmake-3.29-new-tiff-interface.patch", when="+tiff @7:9.1.0 ^cmake@3.19:")
+ patch("proj.cmakelists.5.0.patch", when="@5.0")
+ patch("proj.cmakelists.5.1.patch", when="@5.1:5.2")
conflicts("cmake@3.19:", when="@:7")
depends_on("cmake@3.9:", when="@6:", type="build")
depends_on("cmake@3.5:", when="@5", type="build")
diff --git a/var/spack/repos/builtin/packages/wgl/package.py b/var/spack/repos/builtin/packages/wgl/package.py
index 9a3a0bc7e7..7b5ae208c6 100644
--- a/var/spack/repos/builtin/packages/wgl/package.py
+++ b/var/spack/repos/builtin/packages/wgl/package.py
@@ -14,7 +14,7 @@ class Wgl(Package):
homepage = "https://learn.microsoft.com/en-us/windows/win32/opengl/wgl-and-windows-reference"
has_code = False
- tags = ["windows"]
+ tags = ["windows", "windows-system"]
# hard code the extension as shared lib
libraries = ["OpenGL32.Lib"]
@@ -36,6 +36,10 @@ class Wgl(Package):
version("10.0.26639")
version("10.0.20348")
+ variant(
+ "plat", values=("x64", "x86", "arm", "arm64"), default="x64", description="Toolchain arch"
+ )
+
# As per https://github.com/spack/spack/pull/31748 this provisory version represents
# an arbitrary openGL version designed for maximum compatibility with calling packages
# this current version simply reflects the latest OpenGL vesion available at the time of
@@ -68,6 +72,16 @@ class Wgl(Package):
ver_str = re.search(version_match_pat, lib)
return ver_str if not ver_str else Version(ver_str.group())
+ @classmethod
+ def determine_variants(cls, libs, ver_str):
+ """Allow for determination of toolchain arch for detected WGL"""
+ variants = []
+ for lib in libs:
+ base, lib_name = os.path.split(lib)
+ _, arch = os.path.split(base)
+ variants.append("plat=%s" % arch)
+ return variants
+
def _spec_arch_to_sdk_arch(self):
spec_arch = str(self.spec.architecture.target.microarchitecture.family).lower()
_64bit = "64" in spec_arch
diff --git a/var/spack/repos/builtin/packages/win-sdk/package.py b/var/spack/repos/builtin/packages/win-sdk/package.py
index 3c96fb1a91..b6aa3ec5f2 100644
--- a/var/spack/repos/builtin/packages/win-sdk/package.py
+++ b/var/spack/repos/builtin/packages/win-sdk/package.py
@@ -19,7 +19,7 @@ class WinSdk(Package):
homepage = "https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/"
has_code = False
- tags = ["windows"]
+ tags = ["windows", "windows-system"]
# The sdk has many libraries and executables. Record one for detection purposes
libraries = ["rcdll.dll"]
diff --git a/var/spack/repos/builtin/packages/win-wdk/package.py b/var/spack/repos/builtin/packages/win-wdk/package.py
index 8bf9f5b9d0..25dcae8cd5 100644
--- a/var/spack/repos/builtin/packages/win-wdk/package.py
+++ b/var/spack/repos/builtin/packages/win-wdk/package.py
@@ -18,7 +18,7 @@ class WinWdk(Package):
"""
homepage = "https://learn.microsoft.com/en-us/windows-hardware/drivers/"
- tags = ["windows"]
+ tags = ["windows", "windows-system"]
# The wdk has many libraries and executables. Record one for detection purposes
libraries = ["mmos.lib"]