summaryrefslogtreecommitdiffstats
path: root/.gitlab
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-09-04 20:35:08 (GMT)
committerBrad King <brad.king@kitware.com>2024-09-05 14:19:17 (GMT)
commit48890102956c2166c02ffdda8b47cef7c8159785 (patch)
tree8b2216d9ac220dc6f4ad32188aa46a6b5ca237eb /.gitlab
parent3cdf03c2e85f7cc4daa32e53c3082c701c320e2f (diff)
downloadCMake-48890102956c2166c02ffdda8b47cef7c8159785.zip
CMake-48890102956c2166c02ffdda8b47cef7c8159785.tar.gz
CMake-48890102956c2166c02ffdda8b47cef7c8159785.tar.bz2
ci: Enable IAR test on some Windows jobs in nightly pipeline
Issue: #23308
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake1
-rw-r--r--.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake1
-rw-r--r--.gitlab/ci/env_windows_vs2022_x64_ninja.ps15
-rw-r--r--.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps11
-rw-r--r--.gitlab/ci/iar-env.ps115
5 files changed, 23 insertions, 0 deletions
diff --git a/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake b/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
index d2064e6..c75884d 100644
--- a/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
+++ b/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
@@ -4,6 +4,7 @@ set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23" CACHE STRING "")
if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
set(CMake_TEST_CPACK_INNOSETUP "ON" CACHE STRING "")
set(CMake_TEST_CPACK_NUGET "ON" CACHE STRING "")
+ set(CMake_TEST_IAR_TOOLCHAINS "$ENV{CI_PROJECT_DIR}/.gitlab/iar" CACHE PATH "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
set(CMake_TEST_Swift "ON" CACHE STRING "")
endif()
diff --git a/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake b/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake
index 2b0c76d..6857c2c 100644
--- a/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake
+++ b/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake
@@ -1,4 +1,5 @@
if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
+ set(CMake_TEST_IAR_TOOLCHAINS "$ENV{CI_PROJECT_DIR}/.gitlab/iar" CACHE PATH "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
endif()
diff --git a/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1 b/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1
index fe010eb..8ba5944 100644
--- a/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1
+++ b/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1
@@ -1,4 +1,9 @@
if ("$env:CMAKE_CI_NIGHTLY" -eq "true") {
+ if ("$env:CI_JOB_STAGE" -ne "build") {
+ # As a special case, we do not actually fetch IAR tooling
+ # in the build job. It is not used until the test job.
+ . ".gitlab/ci/iar-env.ps1"
+ }
. ".gitlab/ci/innosetup-env.ps1"
. ".gitlab/ci/ispc-env.ps1"
. ".gitlab/ci/nuget-env.ps1"
diff --git a/.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps1 b/.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps1
index 44bb090..ee6e46d 100644
--- a/.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps1
+++ b/.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps1
@@ -1,4 +1,5 @@
if ("$env:CMAKE_CI_NIGHTLY" -eq "true") {
+ . ".gitlab/ci/iar-env.ps1"
. ".gitlab/ci/ispc-env.ps1"
}
diff --git a/.gitlab/ci/iar-env.ps1 b/.gitlab/ci/iar-env.ps1
new file mode 100644
index 0000000..727ebed
--- /dev/null
+++ b/.gitlab/ci/iar-env.ps1
@@ -0,0 +1,15 @@
+$pwdpath = $pwd.Path
+& "$pwsh" -File ".gitlab/ci/iar.ps1"
+Set-Item -Force -Path "env:IAR_LMS_SETTINGS_DIR" -Value "$pwdpath\.gitlab\iar\license"
+$exes = Get-Item -Path "$pwdpath\.gitlab\iar\*\*\bin\icc*.exe"
+$exes | ForEach-Object { Write-Host $_.FullName }
+
+if ($env:CMAKE_CI_IAR_LICENSE_SERVER) {
+ $llms = Get-Item -Path "$pwdpath\.gitlab\iar\*\common\bin\lightlicensemanager.exe"
+ foreach ($llm in $llms) {
+ &$llm.FullName setup --host "$env:CMAKE_CI_IAR_LICENSE_SERVER"
+ }
+ foreach ($exe in $exes) {
+ &$exe.FullName --version
+ }
+}