From bf7be8cc2e63e24558a8148d3a1e0dec5a30347d Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 20 Feb 2020 12:04:58 +0100
Subject: [PATCH] [ci] Set default options in top-level yml.

---
 .gitlab-ci.yml                            | 4 ++++
 scripts/ci/extends/build-win.yml          | 6 +++++-
 scripts/ci/extends/build.yml              | 6 +++++-
 scripts/ci/extends/vs2019-environment.yml | 2 +-
 scripts/ci/jobs/build-win.yml             | 4 ++--
 5 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9f862dc02f5..d34a2b43d85 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,9 +6,13 @@ stages:
   - package
 
 variables:
+  # Docker image names
   CONTAINER_GCC_IMAGE: $CI_REGISTRY_IMAGE/gcc:$CI_COMMIT_REF_SLUG
   XUNIT_TO_JUNIT_IMAGE: $CI_REGISTRY_IMAGE/xunit-to-junit
   PRECOMMIT_IMAGE: $CI_REGISTRY_IMAGE/pre-commit
+  # Build config
+  BUILD_TYPE: Release
+  BUILD_PROCESSES: "" # Empty string: builds all processes
 
 include:
   # extends
diff --git a/scripts/ci/extends/build-win.yml b/scripts/ci/extends/build-win.yml
index 67abc7b8ef1..184466db307 100644
--- a/scripts/ci/extends/build-win.yml
+++ b/scripts/ci/extends/build-win.yml
@@ -10,7 +10,11 @@
   script:
     - mkdir -p $BUILD_DIR
     - cd $BUILD_DIR
-    - cmake .. -G Ninja $env:CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DOGS_BUILD_PROCESSES=GroundwaterFlow
+    - >
+      cmake .. -G Ninja
+      "$env:CMAKE_ARGS"
+      -DCMAKE_BUILD_TYPE="$env:BUILD_TYPE"
+      -DOGS_BUILD_PROCESSES="$env:BUILD_PROCESSES"
     - cmake --build . | Tee-Object -FilePath make.output
     - cmake --build . --target tests
     - cmake --build . --target ctest
diff --git a/scripts/ci/extends/build.yml b/scripts/ci/extends/build.yml
index 5017d2f18ab..e380cd329c3 100644
--- a/scripts/ci/extends/build.yml
+++ b/scripts/ci/extends/build.yml
@@ -10,7 +10,11 @@
     - cd $BUILD_DIR
 
   script:
-    - cmake .. -G Ninja $CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DOGS_BUILD_PROCESSES=GroundwaterFlow
+    - >
+      cmake .. -G Ninja
+      $CMAKE_ARGS
+      -DCMAKE_BUILD_TYPE=$BUILD_TYPE
+      -DOGS_BUILD_PROCESSES=$BUILD_PROCESSES
     - cmake --build . > >(tee make.output)
     - cmake --build . --target tests
     - cmake --build . --target ctest
diff --git a/scripts/ci/extends/vs2019-environment.yml b/scripts/ci/extends/vs2019-environment.yml
index 94f6326ecc5..f035b276ef0 100644
--- a/scripts/ci/extends/vs2019-environment.yml
+++ b/scripts/ci/extends/vs2019-environment.yml
@@ -6,7 +6,7 @@
       cmd /c "VsDevCmd.bat -arch=amd64 -host_arch=amd64&set" |
       foreach {
         if ($_ -match "=") {
-          $v = $_.split("="); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
+          $v = $_.split("=", 2); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
         }
       }
       popd
diff --git a/scripts/ci/jobs/build-win.yml b/scripts/ci/jobs/build-win.yml
index a59f4efcd56..f4bdf2c0999 100644
--- a/scripts/ci/jobs/build-win.yml
+++ b/scripts/ci/jobs/build-win.yml
@@ -7,8 +7,8 @@ build win:
   variables:
     BUILD_DIR: build-win
     CMAKE_ARGS: >-
-      "-DOGS_USE_PYTHON=ON"
-      "-DOGS_CI_TESTRUNNER_REPEAT=1"
+      -DOGS_USE_PYTHON=ON
+      -DOGS_CI_TESTRUNNER_REPEAT=1
 
   extends:
     - .build_win_definition
-- 
GitLab