Merge topic 'ci-nmake-jom'
3b9975d9b5 ci: Add JOM nightly CI job
ec68e3c5c6 ci: Add NMake nightly CI job
bd00882f49 gitlab-ci: Factor out windows_vcvarsall_vs2022_x64 config block
99c335c8e8 gitlab-ci: Clarify MSVC v71 job script config block name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6742
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7f38659..ee059dc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -771,6 +771,34 @@
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
+test:windows-vs2022-x64-nmake:
+ extends:
+ - .windows_vs2022_x64_nmake
+ - .cmake_test_windows_nmake
+ - .windows_tags_concurrent_vs2022
+ - .cmake_junit_artifacts
+ - .run_dependent
+ dependencies:
+ - test:windows-vs2022-x64-ninja
+ needs:
+ - test:windows-vs2022-x64-ninja
+ variables:
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
+test:windows-vs2022-x64-jom:
+ extends:
+ - .windows_vs2022_x64_jom
+ - .cmake_test_windows_jom
+ - .windows_tags_concurrent_vs2022
+ - .cmake_junit_artifacts
+ - .run_dependent
+ dependencies:
+ - test:windows-vs2022-x64-ninja
+ needs:
+ - test:windows-vs2022-x64-ninja
+ variables:
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
test:windows-borland5.5:
extends:
- .windows_borland5.5
@@ -802,7 +830,7 @@
test:windows-msvc-v71-nmake:
extends:
- .windows_msvc_v71_nmake
- - .cmake_test_windows_nmake
+ - .cmake_test_windows_msvc
- .windows_tags_concurrent
- .cmake_junit_artifacts
- .run_dependent
diff --git a/.gitlab/ci/configure_windows_vs2022_x64_jom.cmake b/.gitlab/ci/configure_windows_vs2022_x64_jom.cmake
new file mode 100644
index 0000000..166690a
--- /dev/null
+++ b/.gitlab/ci/configure_windows_vs2022_x64_jom.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_common.cmake")
diff --git a/.gitlab/ci/configure_windows_vs2022_x64_nmake.cmake b/.gitlab/ci/configure_windows_vs2022_x64_nmake.cmake
new file mode 100644
index 0000000..166690a
--- /dev/null
+++ b/.gitlab/ci/configure_windows_vs2022_x64_nmake.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_common.cmake")
diff --git a/.gitlab/ci/jom.ps1 b/.gitlab/ci/jom.ps1
new file mode 100755
index 0000000..6c28005
--- /dev/null
+++ b/.gitlab/ci/jom.ps1
@@ -0,0 +1,15 @@
+$erroractionpreference = "stop"
+
+$sha256sum = "128FDD846FE24F8594EED37D1D8929A0EA78DF563537C0C1B1861A635013FFF8"
+$tarball = "unstable-jom-2018-12-12.zip"
+
+$outdir = $pwd.Path
+$outdir = "$outdir\.gitlab"
+$ProgressPreference = 'SilentlyContinue'
+Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/$tarball" -OutFile "$outdir\$tarball"
+$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
+if ($hash.Hash -ne $sha256sum) {
+ exit 1
+}
+
+Expand-Archive -Path "$outdir\$tarball" -DestinationPath "$outdir\jom"
diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml
index 7c578aa..e15bbe9 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -31,15 +31,20 @@
CMAKE_CI_BUILD_TYPE: Release
CTEST_NO_WARNINGS_ALLOWED: 1
-.windows_vs2022_x64_ninja:
- extends: .windows_ninja
-
+.windows_vcvarsall_vs2022_x64:
variables:
- CMAKE_CONFIGURATION: windows_vs2022_x64_ninja
VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
VCVARSPLATFORM: "x64"
VCVARSVERSION: "14.30.30705"
+.windows_vs2022_x64_ninja:
+ extends:
+ - .windows_ninja
+ - .windows_vcvarsall_vs2022_x64
+
+ variables:
+ CMAKE_CONFIGURATION: windows_vs2022_x64_ninja
+
### External testing
.windows_vs2022_x64:
@@ -90,6 +95,30 @@
CMAKE_CI_BUILD_TYPE: Release
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+.windows_jom:
+ extends: .windows
+
+ variables:
+ CMAKE_GENERATOR: "NMake Makefiles JOM"
+ CMAKE_CI_BUILD_TYPE: Release
+ CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
+.windows_vs2022_x64_nmake:
+ extends:
+ - .windows_nmake
+ - .windows_vcvarsall_vs2022_x64
+
+ variables:
+ CMAKE_CONFIGURATION: windows_vs2022_x64_nmake
+
+.windows_vs2022_x64_jom:
+ extends:
+ - .windows_jom
+ - .windows_vcvarsall_vs2022_x64
+
+ variables:
+ CMAKE_CONFIGURATION: windows_vs2022_x64_jom
+
.windows_msvc_v71_nmake:
extends: .windows_nmake
@@ -201,6 +230,27 @@
interruptible: true
+.cmake_test_windows_nmake:
+ stage: test-ext
+
+ script:
+ - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
+ - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
+
+ interruptible: true
+
+.cmake_test_windows_jom:
+ stage: test-ext
+
+ script:
+ - Invoke-Expression -Command .gitlab/ci/jom.ps1
+ - $pwdpath = $pwd.Path
+ - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\jom;$env:PATH"
+ - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
+ - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
+
+ interruptible: true
+
.cmake_test_windows_borland:
stage: test-ext
@@ -212,7 +262,7 @@
interruptible: true
-.cmake_test_windows_nmake:
+.cmake_test_windows_msvc:
stage: test-ext
script: