diff options
author | Brad King <brad.king@kitware.com> | 2022-11-11 17:03:23 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-11-11 20:05:30 (GMT) |
commit | 09c1b1db078022096d9b671ebd5ad6bb7a4b52fd (patch) | |
tree | e97c03be5dc60a1eab9bb42c4aecd288f6606908 /.gitlab | |
parent | 61ebd7d083430ed55ad263b96e73efd91dcfa2ab (diff) | |
download | CMake-09c1b1db078022096d9b671ebd5ad6bb7a4b52fd.zip CMake-09c1b1db078022096d9b671ebd5ad6bb7a4b52fd.tar.gz CMake-09c1b1db078022096d9b671ebd5ad6bb7a4b52fd.tar.bz2 |
gitlab-ci: Add windows-arm64 native jobs for Ninja and VS
Add Windows ARM64 native CI jobs to build and test with Ninja,
and to test with VS.
Issue: #23624
Diffstat (limited to '.gitlab')
-rw-r--r-- | .gitlab/ci/configure_windows_arm64_vs2022.cmake | 1 | ||||
-rw-r--r-- | .gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake | 7 | ||||
-rwxr-xr-x | .gitlab/ci/qt-env.ps1 | 14 | ||||
-rw-r--r-- | .gitlab/os-windows.yml | 42 |
4 files changed, 60 insertions, 4 deletions
diff --git a/.gitlab/ci/configure_windows_arm64_vs2022.cmake b/.gitlab/ci/configure_windows_arm64_vs2022.cmake new file mode 100644 index 0000000..c7d41ea --- /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 0000000..722e009 --- /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 c087a59..7eff55f 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 ca46612..64b595e 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 |