From 5a2bacd673d1a657e478c1076feaa0e125618d23 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Tue, 18 Feb 2020 14:24:32 +0100
Subject: [PATCH] [ci] Build gui on Windows.

---
 .gitlab-ci.yml                            |  1 +
 scripts/ci/extends/vs2019-environment.yml | 13 ++++++++
 scripts/ci/jobs/build-win.yml             | 38 +++++++++++------------
 3 files changed, 32 insertions(+), 20 deletions(-)
 create mode 100644 scripts/ci/extends/vs2019-environment.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3fe0219fccc..b0e77c43339 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,7 @@ variables:
 
 include:
   - local: '/scripts/ci/extends/container-maker-setup.yml'
+  - local: '/scripts/ci/extends/vs2019-environment.yml'
   - local: '/scripts/ci/jobs/pre-commit.yml'
   - local: '/scripts/ci/jobs/build_image.yml'
   - local: '/scripts/ci/jobs/build.yml'
diff --git a/scripts/ci/extends/vs2019-environment.yml b/scripts/ci/extends/vs2019-environment.yml
new file mode 100644
index 00000000000..94f6326ecc5
--- /dev/null
+++ b/scripts/ci/extends/vs2019-environment.yml
@@ -0,0 +1,13 @@
+.vs2019-environment:
+  before_script:
+    # Load VS environment
+    - |
+      pushd $env:VS160COMNTOOLS
+      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])"
+        }
+      }
+      popd
+      Write-Host "`nVisual Studio Command Prompt variables set." -ForegroundColor Yellow
diff --git a/scripts/ci/jobs/build-win.yml b/scripts/ci/jobs/build-win.yml
index 96edf6cc139..d9f5b7afa27 100644
--- a/scripts/ci/jobs/build-win.yml
+++ b/scripts/ci/jobs/build-win.yml
@@ -2,34 +2,32 @@ build win:
   stage: test
   tags:
     - windows
-
-  before_script:
-    # Load VS environment
-    - |
-      pushd $env:VS160COMNTOOLS
-      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])"
-        }
-      }
-      popd
-      Write-Host "`nVisual Studio Command Prompt variables set." -ForegroundColor Yellow
-    - mkdir -p build-win
-    - cd build-win
+  variables:
+    BUILD_DIR: "build-win"
+  extends: .vs2019-environment
 
   script:
-    - cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DOGS_BUILD_PROCESSES=GroundwaterFlow
-    - cmake --build .
+    - mkdir -p $BUILD_DIR
+    - cd $BUILD_DIR
+    - |
+      cmake .. -G Ninja `
+        -DCMAKE_BUILD_TYPE=Release `
+        -DOGS_BUILD_PROCESSES=GroundwaterFlow `
+        -DOGS_USE_PYTHON=ON `
+        -DOGS_BUILD_GUI=ON `
+        -DOGS_BUILD_UTILS=ON `
+        -DOGS_BUILD_SWMM=ON `
+        -DOGS_USE_NETCDF=ON
     - cmake --build . --target tests
     - cmake --build . --target ctest
     - cp Testing/**/Test.xml Tests/ctest.xml
+    - cmake --build .
 
   artifacts:
     paths:
-      - build-win/Tests/ctest.xml
-      - build-win/Tests/testrunner.xml
+      - $BUILD_DIR/Tests/ctest.xml
+      - $BUILD_DIR/Tests/testrunner.xml
     expire_in: 1 week
     reports:
       junit:
-        - build-win/Tests/testrunner.xml
+        - $BUILD_DIR/Tests/testrunner.xml
-- 
GitLab