Merge topic 'ci-env-scripts'

bf973c41e5 ci: Factor out scripts to add sccache to job environment
b0f7aebc77 ci: Factor out scripts to add ninja to job environment
ef3495f74f ci: Factor out scripts to add cmake to job environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9452
diff --git a/.gitlab/ci/cmake-env.ps1 b/.gitlab/ci/cmake-env.ps1
new file mode 100755
index 0000000..505fa44
--- /dev/null
+++ b/.gitlab/ci/cmake-env.ps1
@@ -0,0 +1,5 @@
+$pwdpath = $pwd.Path
+& "$pwsh" -File ".gitlab/ci/cmake.ps1"
+Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\cmake\bin;$env:PATH"
+cmake --version
+$cmake = "cmake"
diff --git a/.gitlab/ci/cmake-env.sh b/.gitlab/ci/cmake-env.sh
new file mode 100644
index 0000000..686a78f
--- /dev/null
+++ b/.gitlab/ci/cmake-env.sh
@@ -0,0 +1,3 @@
+.gitlab/ci/cmake.sh
+export PATH="$PWD/.gitlab/cmake/bin:$PATH"
+cmake --version
diff --git a/.gitlab/ci/ninja-env.sh b/.gitlab/ci/ninja-env.sh
new file mode 100644
index 0000000..744b9f3
--- /dev/null
+++ b/.gitlab/ci/ninja-env.sh
@@ -0,0 +1,3 @@
+.gitlab/ci/ninja.sh
+export PATH=$PWD/.gitlab:$PATH
+ninja --version
diff --git a/.gitlab/ci/sccache-env.ps1 b/.gitlab/ci/sccache-env.ps1
new file mode 100755
index 0000000..66dc6eb
--- /dev/null
+++ b/.gitlab/ci/sccache-env.ps1
@@ -0,0 +1 @@
+Set-Item -Force -Path "env:PATH" -Value "$env:PATH;$env:SCCACHE_PATH"
diff --git a/.gitlab/ci/sccache-env.sh b/.gitlab/ci/sccache-env.sh
new file mode 100644
index 0000000..4b170a4
--- /dev/null
+++ b/.gitlab/ci/sccache-env.sh
@@ -0,0 +1,2 @@
+.gitlab/ci/sccache.sh
+export PATH="$PWD/.gitlab:$PATH"
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml
index dc32016..03778c2 100644
--- a/.gitlab/os-linux.yml
+++ b/.gitlab/os-linux.yml
@@ -511,12 +511,8 @@
 
 .before_script_linux: &before_script_linux
     - source .gitlab/ci/env.sh
-    - .gitlab/ci/cmake.sh
-    - export PATH=$PWD/.gitlab/cmake/bin:$PATH
-    - .gitlab/ci/ninja.sh
-    - export PATH=$PWD/.gitlab:$PATH
-    - cmake --version
-    - ninja --version
+    - source .gitlab/ci/cmake-env.sh
+    - source .gitlab/ci/ninja-env.sh
 
 .cmake_prep_source_linux:
     stage: prep
@@ -591,8 +587,7 @@
         - mkdir -p build/
         - cp Utilities/Release/linux/$CMAKE_ARCH/cache.txt build/CMakeCache.txt
         # Make sccache available.
-        - .gitlab/ci/sccache.sh
-        - export PATH=$PWD/.gitlab:$PATH
+        - source .gitlab/ci/sccache-env.sh
         # Append sccache settings to the cache.
         - echo "CMAKE_C_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt
         - echo "CMAKE_CXX_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt
diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml
index 23c68d5..894d624 100644
--- a/.gitlab/os-macos.yml
+++ b/.gitlab/os-macos.yml
@@ -175,12 +175,8 @@
 
 .before_script_macos: &before_script_macos
     - source .gitlab/ci/env.sh
-    - .gitlab/ci/cmake.sh
-    - export PATH=$PWD/.gitlab/cmake/bin:$PATH
-    - .gitlab/ci/ninja.sh
-    - export PATH=$PWD/.gitlab:$PATH
-    - cmake --version
-    - ninja --version
+    - source .gitlab/ci/cmake-env.sh
+    - source .gitlab/ci/ninja-env.sh
     # Download Qt
     - cmake -P .gitlab/ci/download_qt.cmake
     - export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml
index 3cd6e56..1372136 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -386,12 +386,8 @@
 
 .before_script_windows: &before_script_windows
     - . .gitlab/ci/env.ps1
-    - $pwdpath = $pwd.Path
-    - (& "$pwsh" -File ".gitlab/ci/cmake.ps1")
-    - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\cmake\bin;$env:PATH"
-    - $cmake = "cmake"
+    - . .gitlab/ci/cmake-env.ps1
     - . .gitlab/ci/ninja-env.ps1
-    - cmake --version
     - . .gitlab/ci/qt-env.ps1
     - . .gitlab/ci/python-env.ps1
 
@@ -404,7 +400,7 @@
 
     script:
         - *before_script_windows
-        - Set-Item -Force -Path "env:PATH" -Value "$env:PATH;$env:SCCACHE_PATH"
+        - . .gitlab/ci/sccache-env.ps1
         - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
         - sccache --start-server
         - sccache --show-stats