summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml44
-rw-r--r--.gitlab/ci/configure_windows_arm64_vs2022.cmake1
-rw-r--r--.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake7
-rwxr-xr-x.gitlab/ci/qt-env.ps114
-rw-r--r--.gitlab/os-windows.yml42
5 files changed, 103 insertions, 5 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 83bd9ef918..16c9e2555e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -880,7 +880,7 @@ u:macos10.10-package:
needs:
- b:macos10.10-package
-# Windows builds
+# Windows x86_64 jobs
b:windows-vs2022-x64-ninja:
extends:
@@ -1116,6 +1116,48 @@ t:windows-openwatcom1.9:
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
+# Windows arm64 jobs
+
+b:windows-arm64-vs2022-ninja:
+ extends:
+ - .windows_arm64_vs2022_ninja
+ - .cmake_build_windows
+ - .cmake_build_artifacts
+ - .windows_arm64_tags_nonconcurrent_vs2022
+ - .run_manually
+ variables:
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
+t:windows-arm64-vs2022-ninja:
+ extends:
+ - .windows_arm64_vs2022_ninja
+ - .cmake_test_windows
+ - .windows_arm64_tags_nonconcurrent_vs2022
+ - .cmake_test_artifacts
+ - .run_dependent
+ dependencies:
+ - b:windows-arm64-vs2022-ninja
+ needs:
+ - b:windows-arm64-vs2022-ninja
+ variables:
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
+t:windows-arm64-vs2022:
+ extends:
+ - .windows_arm64_vs2022
+ - .cmake_test_windows_external
+ - .windows_arm64_tags_concurrent_vs2022
+ - .cmake_junit_artifacts
+ - .run_dependent
+ dependencies:
+ - t:windows-arm64-vs2022-ninja
+ needs:
+ - t:windows-arm64-vs2022-ninja
+ variables:
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
+# Windows package jobs
+
b:windows-x86_64-package:
extends:
- .windows_x86_64_package
diff --git a/.gitlab/ci/configure_windows_arm64_vs2022.cmake b/.gitlab/ci/configure_windows_arm64_vs2022.cmake
new file mode 100644
index 0000000000..c7d41ea1d4
--- /dev/null
+++ b/.gitlab/ci/configure_windows_arm64_vs2022.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common.cmake")
diff --git a/.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake b/.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake
new file mode 100644
index 0000000000..722e009b11
--- /dev/null
+++ b/.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake
@@ -0,0 +1,7 @@
+# Qt host tools are not yet available natively on windows-arm64.
+set(CMake_TEST_GUI "OFF" CACHE BOOL "")
+set(BUILD_QtDialog "OFF" CACHE BOOL "")
+set(CMAKE_PREFIX_PATH "" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_cxx_modules_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common_ninja.cmake")
diff --git a/.gitlab/ci/qt-env.ps1 b/.gitlab/ci/qt-env.ps1
index c087a59a97..7eff55fc44 100755
--- a/.gitlab/ci/qt-env.ps1
+++ b/.gitlab/ci/qt-env.ps1
@@ -1,4 +1,10 @@
-$pwdpath = $pwd.Path
-cmake -P .gitlab/ci/download_qt.cmake
-Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\qt\bin;$env:PATH"
-qmake -v
+if ("$env:PROCESSOR_ARCHITECTURE" -eq "AMD64") {
+ $pwdpath = $pwd.Path
+ cmake -P .gitlab/ci/download_qt.cmake
+ Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\qt\bin;$env:PATH"
+ qmake -v
+} elseif ("$env:PROCESSOR_ARCHITECTURE" -eq "ARM64") {
+ # Qt host tools are not yet available natively on windows-arm64.
+} else {
+ throw ('unknown PROCESSOR_ARCHITECTURE: ' + "$env:PROCESSOR_ARCHITECTURE")
+}
diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml
index ca46612727..64b595e694 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -49,6 +49,12 @@
VCVARSPLATFORM: "x64_arm64"
VCVARSVERSION: "14.34.31933"
+.windows_arm64_vcvarsall_vs2022:
+ variables:
+ VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
+ VCVARSPLATFORM: "arm64"
+ VCVARSVERSION: "14.34.31933"
+
.windows_vs2022_x64_ninja:
extends:
- .windows_build_ninja
@@ -57,6 +63,14 @@
variables:
CMAKE_CONFIGURATION: windows_vs2022_x64_ninja
+.windows_arm64_vs2022_ninja:
+ extends:
+ - .windows_build_ninja
+ - .windows_arm64_vcvarsall_vs2022
+
+ variables:
+ CMAKE_CONFIGURATION: windows_arm64_vs2022_ninja
+
.windows_package:
extends:
- .windows_build_ninja
@@ -224,6 +238,16 @@
variables:
CMAKE_CONFIGURATION: windows_openwatcom1.9
+.windows_arm64_vs2022:
+ extends: .windows
+
+ variables:
+ CMAKE_CONFIGURATION: windows_arm64_vs2022
+ CMAKE_GENERATOR: "Visual Studio 17 2022"
+ CMAKE_GENERATOR_PLATFORM: "ARM64"
+ CMAKE_GENERATOR_TOOLSET: "v143,version=14.34.31933"
+ CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
.mingw_osdn_io:
extends: .windows
@@ -292,6 +316,24 @@
- shell
- concurrent
+.windows_arm64_tags_nonconcurrent_vs2022:
+ tags:
+ - cmake # Since this is a bare runner, pin to a project.
+ - windows-arm64
+ - shell
+ - vs2022
+ - msvc-19.34
+ - nonconcurrent
+
+.windows_arm64_tags_concurrent_vs2022:
+ tags:
+ - cmake # Since this is a bare runner, pin to a project.
+ - windows-arm64
+ - shell
+ - vs2022
+ - msvc-19.34
+ - concurrent
+
## Windows-specific scripts
.before_script_windows: &before_script_windows