summaryrefslogtreecommitdiffstats
path: root/.gitlab
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab')
-rwxr-xr-x.gitlab/ci/borland.ps137
-rw-r--r--.gitlab/ci/configure_cuda11.6_clang.cmake3
-rw-r--r--.gitlab/ci/configure_cuda11.6_nvidia.cmake3
-rw-r--r--.gitlab/ci/configure_fedora34_clang_analyzer.cmake1
-rw-r--r--.gitlab/ci/configure_fedora34_tidy.cmake3
-rw-r--r--.gitlab/ci/configure_fedora35_asan.cmake (renamed from .gitlab/ci/configure_fedora34_asan.cmake)2
-rw-r--r--.gitlab/ci/configure_fedora35_clang_analyzer.cmake1
-rw-r--r--.gitlab/ci/configure_fedora35_common.cmake (renamed from .gitlab/ci/configure_fedora34_common.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora35_makefiles.cmake (renamed from .gitlab/ci/configure_fedora34_makefiles.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora35_ninja.cmake (renamed from .gitlab/ci/configure_fedora34_ninja.cmake)2
-rw-r--r--.gitlab/ci/configure_fedora35_ninja_multi.cmake (renamed from .gitlab/ci/configure_fedora34_ninja_multi.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora35_sphinx.cmake (renamed from .gitlab/ci/configure_fedora34_sphinx.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora35_sphinx_package.cmake (renamed from .gitlab/ci/configure_fedora34_sphinx_package.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora35_tidy.cmake3
-rw-r--r--.gitlab/ci/configure_windows_borland5.5.cmake1
-rw-r--r--.gitlab/ci/configure_windows_borland5.8.cmake1
-rw-r--r--.gitlab/ci/configure_windows_borland_common.cmake2
-rw-r--r--.gitlab/ci/configure_windows_common.cmake1
-rw-r--r--.gitlab/ci/configure_windows_msvc_common.cmake2
-rw-r--r--.gitlab/ci/configure_windows_msvc_v71_nmake.cmake1
-rw-r--r--.gitlab/ci/configure_windows_openwatcom1.9.cmake1
-rw-r--r--.gitlab/ci/configure_windows_openwatcom_common.cmake2
-rw-r--r--.gitlab/ci/configure_windows_vs2019_x64.cmake1
-rw-r--r--.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake1
-rw-r--r--.gitlab/ci/configure_windows_vs2022_x64.cmake5
-rw-r--r--.gitlab/ci/configure_windows_vs2022_x64_jom.cmake1
-rw-r--r--.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake8
-rw-r--r--.gitlab/ci/configure_windows_vs2022_x64_nmake.cmake1
-rw-r--r--.gitlab/ci/configure_windows_vs_common.cmake10
-rw-r--r--.gitlab/ci/configure_windows_vs_common_ninja.cmake13
-rw-r--r--.gitlab/ci/ctest_exclusions.cmake7
-rw-r--r--.gitlab/ci/ctest_memcheck_fedora35_asan.lsan.supp (renamed from .gitlab/ci/ctest_memcheck_fedora34_asan.lsan.supp)0
-rw-r--r--.gitlab/ci/docker/cuda11.6/Dockerfile9
-rwxr-xr-x.gitlab/ci/docker/cuda11.6/install_deps.sh20
-rw-r--r--.gitlab/ci/docker/cuda11.6/llvm-snapshot.gpg.key52
-rw-r--r--.gitlab/ci/docker/cuda11.6/llvm.list2
-rw-r--r--.gitlab/ci/docker/fedora35/Dockerfile (renamed from .gitlab/ci/docker/fedora34/Dockerfile)4
-rwxr-xr-x.gitlab/ci/docker/fedora35/install_deps.sh (renamed from .gitlab/ci/docker/fedora34/install_deps.sh)2
-rwxr-xr-x.gitlab/ci/docker/fedora35/install_ispc.sh (renamed from .gitlab/ci/docker/fedora34/install_ispc.sh)0
-rwxr-xr-x.gitlab/ci/docker/fedora35/install_rvm.sh (renamed from .gitlab/ci/docker/fedora34/install_rvm.sh)0
-rw-r--r--.gitlab/ci/env_cuda11.6_clang.sh3
-rw-r--r--.gitlab/ci/env_fedora35_asan.sh (renamed from .gitlab/ci/env_fedora34_asan.sh)0
-rw-r--r--.gitlab/ci/env_fedora35_clang_analyzer.sh (renamed from .gitlab/ci/env_fedora34_clang_analyzer.sh)0
-rw-r--r--.gitlab/ci/env_fedora35_makefiles.cmake (renamed from .gitlab/ci/env_fedora34_makefiles.cmake)0
-rwxr-xr-x.gitlab/ci/jom.ps115
-rwxr-xr-x.gitlab/ci/msvc.ps131
-rwxr-xr-x.gitlab/ci/ninja-nightly.ps19
-rwxr-xr-x.gitlab/ci/ninja.ps15
-rwxr-xr-x.gitlab/ci/openwatcom.ps125
-rwxr-xr-x.gitlab/ci/vcvarsall.ps12
-rw-r--r--.gitlab/os-linux.yml80
-rw-r--r--.gitlab/os-windows.yml181
-rw-r--r--.gitlab/upload.yml4
53 files changed, 496 insertions, 61 deletions
diff --git a/.gitlab/ci/borland.ps1 b/.gitlab/ci/borland.ps1
new file mode 100755
index 0000000..146a047
--- /dev/null
+++ b/.gitlab/ci/borland.ps1
@@ -0,0 +1,37 @@
+$erroractionpreference = "stop"
+
+if ("$env:CMAKE_CONFIGURATION".Contains("borland5.5")) {
+ # Borland C++ 5.5 Free Command-line Tools
+ # https://web.archive.org/web/20110402064356/https://www.embarcadero.com/products/cbuilder/free-compiler
+ $filename = "bcc5.5-1"
+ $sha256sum = "895B76F8F1AD8030F31ACE239EBC623DC7379C121A540F55F611B93F3CB9AF52"
+} elseif ("$env:CMAKE_CONFIGURATION".Contains("borland5.8")) {
+ # Borland C++ Builder 2006
+ # https://web.archive.org/web/20060303030019/https://www.borland.com/us/products/cbuilder/index.html
+ $filename = "bcc5.8-1"
+ $sha256sum = "C30981BFD540C933E76D82D873DEE05E7482F34F68E309065DE0D181C95F77E3"
+} else {
+ throw ('unknown CMAKE_CONFIGURATION: ' + "$env:CMAKE_CONFIGURATION")
+}
+$tarball = "$filename.zip"
+
+$outdir = $pwd.Path
+$outdir = "$outdir\.gitlab"
+$ProgressPreference = 'SilentlyContinue'
+# This URL is only visible inside of Kitware's network. See above filename table.
+Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
+$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
+if ($hash.Hash -ne $sha256sum) {
+ exit 1
+}
+
+Add-Type -AssemblyName System.IO.Compression.FileSystem
+[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
+Move-Item -Path "$outdir\$filename" -Destination "$outdir\bcc"
+
+$tools = "bcc32", "ilink32"
+foreach ($tool in $tools) {
+ $cfg = Get-Content -path "$outdir\bcc\bin\$tool.cfg.in" -Raw
+ $cfg = $cfg -replace "@BCC_ROOT@","$outdir\bcc"
+ $cfg | Set-Content -path "$outdir\bcc\bin\$tool.cfg"
+}
diff --git a/.gitlab/ci/configure_cuda11.6_clang.cmake b/.gitlab/ci/configure_cuda11.6_clang.cmake
new file mode 100644
index 0000000..e13ca88
--- /dev/null
+++ b/.gitlab/ci/configure_cuda11.6_clang.cmake
@@ -0,0 +1,3 @@
+set(CMake_TEST_CUDA "Clang" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_cuda11.6_nvidia.cmake b/.gitlab/ci/configure_cuda11.6_nvidia.cmake
new file mode 100644
index 0000000..519699b
--- /dev/null
+++ b/.gitlab/ci/configure_cuda11.6_nvidia.cmake
@@ -0,0 +1,3 @@
+set(CMake_TEST_CUDA "NVIDIA" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_fedora34_clang_analyzer.cmake b/.gitlab/ci/configure_fedora34_clang_analyzer.cmake
deleted file mode 100644
index e00f8a7..0000000
--- a/.gitlab/ci/configure_fedora34_clang_analyzer.cmake
+++ /dev/null
@@ -1 +0,0 @@
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora34_common.cmake")
diff --git a/.gitlab/ci/configure_fedora34_tidy.cmake b/.gitlab/ci/configure_fedora34_tidy.cmake
deleted file mode 100644
index 9c79303..0000000
--- a/.gitlab/ci/configure_fedora34_tidy.cmake
+++ /dev/null
@@ -1,3 +0,0 @@
-set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "")
-
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora34_common.cmake")
diff --git a/.gitlab/ci/configure_fedora34_asan.cmake b/.gitlab/ci/configure_fedora35_asan.cmake
index c22cdb7..84fefad 100644
--- a/.gitlab/ci/configure_fedora34_asan.cmake
+++ b/.gitlab/ci/configure_fedora35_asan.cmake
@@ -1,4 +1,4 @@
set(CMAKE_C_FLAGS "-fsanitize=address" CACHE STRING "")
set(CMAKE_CXX_FLAGS "-fsanitize=address" CACHE STRING "")
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora34_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora35_common.cmake")
diff --git a/.gitlab/ci/configure_fedora35_clang_analyzer.cmake b/.gitlab/ci/configure_fedora35_clang_analyzer.cmake
new file mode 100644
index 0000000..761a323
--- /dev/null
+++ b/.gitlab/ci/configure_fedora35_clang_analyzer.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora35_common.cmake")
diff --git a/.gitlab/ci/configure_fedora34_common.cmake b/.gitlab/ci/configure_fedora35_common.cmake
index 4484e26..4484e26 100644
--- a/.gitlab/ci/configure_fedora34_common.cmake
+++ b/.gitlab/ci/configure_fedora35_common.cmake
diff --git a/.gitlab/ci/configure_fedora34_makefiles.cmake b/.gitlab/ci/configure_fedora35_makefiles.cmake
index a482378..a482378 100644
--- a/.gitlab/ci/configure_fedora34_makefiles.cmake
+++ b/.gitlab/ci/configure_fedora35_makefiles.cmake
diff --git a/.gitlab/ci/configure_fedora34_ninja.cmake b/.gitlab/ci/configure_fedora35_ninja.cmake
index 629f792..e6143b7 100644
--- a/.gitlab/ci/configure_fedora34_ninja.cmake
+++ b/.gitlab/ci/configure_fedora35_ninja.cmake
@@ -8,4 +8,4 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3" CACHE STRING "")
# Cover compilation with C++11 only and not higher standards.
set(CMAKE_CXX_STANDARD "11" CACHE STRING "")
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora34_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora35_common.cmake")
diff --git a/.gitlab/ci/configure_fedora34_ninja_multi.cmake b/.gitlab/ci/configure_fedora35_ninja_multi.cmake
index efb4b84..efb4b84 100644
--- a/.gitlab/ci/configure_fedora34_ninja_multi.cmake
+++ b/.gitlab/ci/configure_fedora35_ninja_multi.cmake
diff --git a/.gitlab/ci/configure_fedora34_sphinx.cmake b/.gitlab/ci/configure_fedora35_sphinx.cmake
index 90d159b..90d159b 100644
--- a/.gitlab/ci/configure_fedora34_sphinx.cmake
+++ b/.gitlab/ci/configure_fedora35_sphinx.cmake
diff --git a/.gitlab/ci/configure_fedora34_sphinx_package.cmake b/.gitlab/ci/configure_fedora35_sphinx_package.cmake
index e839de8..e839de8 100644
--- a/.gitlab/ci/configure_fedora34_sphinx_package.cmake
+++ b/.gitlab/ci/configure_fedora35_sphinx_package.cmake
diff --git a/.gitlab/ci/configure_fedora35_tidy.cmake b/.gitlab/ci/configure_fedora35_tidy.cmake
new file mode 100644
index 0000000..752d241
--- /dev/null
+++ b/.gitlab/ci/configure_fedora35_tidy.cmake
@@ -0,0 +1,3 @@
+set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora35_common.cmake")
diff --git a/.gitlab/ci/configure_windows_borland5.5.cmake b/.gitlab/ci/configure_windows_borland5.5.cmake
new file mode 100644
index 0000000..82c4178
--- /dev/null
+++ b/.gitlab/ci/configure_windows_borland5.5.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_borland_common.cmake")
diff --git a/.gitlab/ci/configure_windows_borland5.8.cmake b/.gitlab/ci/configure_windows_borland5.8.cmake
new file mode 100644
index 0000000..82c4178
--- /dev/null
+++ b/.gitlab/ci/configure_windows_borland5.8.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_borland_common.cmake")
diff --git a/.gitlab/ci/configure_windows_borland_common.cmake b/.gitlab/ci/configure_windows_borland_common.cmake
new file mode 100644
index 0000000..6d66a05
--- /dev/null
+++ b/.gitlab/ci/configure_windows_borland_common.cmake
@@ -0,0 +1,2 @@
+set(configure_no_sccache 1)
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_common.cmake b/.gitlab/ci/configure_windows_common.cmake
index 112846a..a70d165 100644
--- a/.gitlab/ci/configure_windows_common.cmake
+++ b/.gitlab/ci/configure_windows_common.cmake
@@ -1,4 +1,5 @@
set(BUILD_QtDialog ON CACHE BOOL "")
+set(BUILD_CursesDialog ON CACHE BOOL "")
set(CMAKE_PREFIX_PATH "$ENV{CI_PROJECT_DIR}/.gitlab/qt" CACHE STRING "")
set(CMake_TEST_Java OFF CACHE BOOL "")
diff --git a/.gitlab/ci/configure_windows_msvc_common.cmake b/.gitlab/ci/configure_windows_msvc_common.cmake
new file mode 100644
index 0000000..6d66a05
--- /dev/null
+++ b/.gitlab/ci/configure_windows_msvc_common.cmake
@@ -0,0 +1,2 @@
+set(configure_no_sccache 1)
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_msvc_v71_nmake.cmake b/.gitlab/ci/configure_windows_msvc_v71_nmake.cmake
new file mode 100644
index 0000000..166690a
--- /dev/null
+++ b/.gitlab/ci/configure_windows_msvc_v71_nmake.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_common.cmake")
diff --git a/.gitlab/ci/configure_windows_openwatcom1.9.cmake b/.gitlab/ci/configure_windows_openwatcom1.9.cmake
new file mode 100644
index 0000000..f29c3f4
--- /dev/null
+++ b/.gitlab/ci/configure_windows_openwatcom1.9.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_openwatcom_common.cmake")
diff --git a/.gitlab/ci/configure_windows_openwatcom_common.cmake b/.gitlab/ci/configure_windows_openwatcom_common.cmake
new file mode 100644
index 0000000..6d66a05
--- /dev/null
+++ b/.gitlab/ci/configure_windows_openwatcom_common.cmake
@@ -0,0 +1,2 @@
+set(configure_no_sccache 1)
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_vs2019_x64.cmake b/.gitlab/ci/configure_windows_vs2019_x64.cmake
new file mode 100644
index 0000000..c7d41ea
--- /dev/null
+++ b/.gitlab/ci/configure_windows_vs2019_x64.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common.cmake")
diff --git a/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake b/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake
new file mode 100644
index 0000000..c078f90
--- /dev/null
+++ b/.gitlab/ci/configure_windows_vs2019_x64_ninja.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common_ninja.cmake")
diff --git a/.gitlab/ci/configure_windows_vs2022_x64.cmake b/.gitlab/ci/configure_windows_vs2022_x64.cmake
index 7c024a8..c7d41ea 100644
--- a/.gitlab/ci/configure_windows_vs2022_x64.cmake
+++ b/.gitlab/ci/configure_windows_vs2022_x64.cmake
@@ -1,4 +1 @@
-set(CMake_TEST_WIX_NO_VERIFY "ON" CACHE BOOL "")
-set(CMake_TEST_Java OFF CACHE BOOL "")
-
-include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common.cmake")
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_ninja.cmake b/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
index e1ae81e..c078f90 100644
--- a/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
+++ b/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
@@ -1,7 +1 @@
-set(CMake_TEST_WIX_NO_VERIFY "ON" CACHE BOOL "")
-set(CMake_TEST_GUI "ON" CACHE BOOL "")
-set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "")
-set(CMake_TEST_IPO_WORKS_C "ON" CACHE BOOL "")
-set(CMake_TEST_IPO_WORKS_CXX "ON" CACHE BOOL "")
-
-include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common_ninja.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/configure_windows_vs_common.cmake b/.gitlab/ci/configure_windows_vs_common.cmake
new file mode 100644
index 0000000..962f03d
--- /dev/null
+++ b/.gitlab/ci/configure_windows_vs_common.cmake
@@ -0,0 +1,10 @@
+set(CMake_TEST_WIX_NO_VERIFY "ON" CACHE BOOL "")
+set(CMake_TEST_FindODBC "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_Fortran "OFF" CACHE BOOL "")
+set(CMake_TEST_Java OFF CACHE BOOL "")
+set(CMake_TEST_MFC "ON" CACHE BOOL "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_vs_common_ninja.cmake b/.gitlab/ci/configure_windows_vs_common_ninja.cmake
new file mode 100644
index 0000000..1ae1a66
--- /dev/null
+++ b/.gitlab/ci/configure_windows_vs_common_ninja.cmake
@@ -0,0 +1,13 @@
+set(CMake_TEST_WIX_NO_VERIFY "ON" CACHE BOOL "")
+set(CMake_TEST_GUI "ON" CACHE BOOL "")
+set(CMake_TEST_FindODBC "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenMP_Fortran "OFF" CACHE BOOL "")
+set(CMake_TEST_IPO_WORKS_C "ON" CACHE BOOL "")
+set(CMake_TEST_IPO_WORKS_CXX "ON" CACHE BOOL "")
+set(CMake_TEST_MFC "ON" CACHE BOOL "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_common.cmake")
diff --git a/.gitlab/ci/ctest_exclusions.cmake b/.gitlab/ci/ctest_exclusions.cmake
index 3460d48..89a5ace 100644
--- a/.gitlab/ci/ctest_exclusions.cmake
+++ b/.gitlab/ci/ctest_exclusions.cmake
@@ -20,6 +20,13 @@ if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "_asan")
)
endif()
+if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "_jom")
+ list(APPEND test_exclusions
+ # JOM often fails with "Couldn't change working directory to ...".
+ "^ExternalProject$"
+ )
+endif()
+
string(REPLACE ";" "|" test_exclusions "${test_exclusions}")
if (test_exclusions)
set(test_exclusions "(${test_exclusions})")
diff --git a/.gitlab/ci/ctest_memcheck_fedora34_asan.lsan.supp b/.gitlab/ci/ctest_memcheck_fedora35_asan.lsan.supp
index 8ec1a03..8ec1a03 100644
--- a/.gitlab/ci/ctest_memcheck_fedora34_asan.lsan.supp
+++ b/.gitlab/ci/ctest_memcheck_fedora35_asan.lsan.supp
diff --git a/.gitlab/ci/docker/cuda11.6/Dockerfile b/.gitlab/ci/docker/cuda11.6/Dockerfile
new file mode 100644
index 0000000..27cdf8b
--- /dev/null
+++ b/.gitlab/ci/docker/cuda11.6/Dockerfile
@@ -0,0 +1,9 @@
+FROM nvidia/cuda:11.6.0-devel-ubuntu20.04
+MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
+
+COPY llvm.list /etc/apt/sources.list.d/llvm.list
+COPY llvm-snapshot.gpg.key /root/llvm-snapshot.gpg.key
+RUN apt-key add /root/llvm-snapshot.gpg.key
+
+COPY install_deps.sh /root/install_deps.sh
+RUN sh /root/install_deps.sh
diff --git a/.gitlab/ci/docker/cuda11.6/install_deps.sh b/.gitlab/ci/docker/cuda11.6/install_deps.sh
new file mode 100755
index 0000000..cb18c83
--- /dev/null
+++ b/.gitlab/ci/docker/cuda11.6/install_deps.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+
+apt-get update
+
+# Install dependency without interaction.
+env DEBIAN_FRONTEND=noninteractive \
+ TZ=America/New_York \
+ apt-get install -y \
+ tzdata
+
+# Install development tools.
+apt-get install -y \
+ g++ \
+ clang-13 \
+ curl \
+ git
+
+apt-get clean
diff --git a/.gitlab/ci/docker/cuda11.6/llvm-snapshot.gpg.key b/.gitlab/ci/docker/cuda11.6/llvm-snapshot.gpg.key
new file mode 100644
index 0000000..aa6b105
--- /dev/null
+++ b/.gitlab/ci/docker/cuda11.6/llvm-snapshot.gpg.key
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+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
+bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
+=j+4q
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/.gitlab/ci/docker/cuda11.6/llvm.list b/.gitlab/ci/docker/cuda11.6/llvm.list
new file mode 100644
index 0000000..27d0824
--- /dev/null
+++ b/.gitlab/ci/docker/cuda11.6/llvm.list
@@ -0,0 +1,2 @@
+deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main
+deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main
diff --git a/.gitlab/ci/docker/fedora34/Dockerfile b/.gitlab/ci/docker/fedora35/Dockerfile
index af2322d..d1614b4 100644
--- a/.gitlab/ci/docker/fedora34/Dockerfile
+++ b/.gitlab/ci/docker/fedora35/Dockerfile
@@ -1,10 +1,10 @@
-FROM fedora:34 as rvm-build
+FROM fedora:35 as rvm-build
MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
COPY install_rvm.sh /root/install_rvm.sh
RUN sh /root/install_rvm.sh
-FROM fedora:34
+FROM fedora:35
MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
COPY install_deps.sh /root/install_deps.sh
diff --git a/.gitlab/ci/docker/fedora34/install_deps.sh b/.gitlab/ci/docker/fedora35/install_deps.sh
index bef3a97..30214af 100755
--- a/.gitlab/ci/docker/fedora34/install_deps.sh
+++ b/.gitlab/ci/docker/fedora35/install_deps.sh
@@ -75,7 +75,7 @@ dnf install --setopt=install_weak_deps=False -y \
libinput-devel systemd-devel \
libjpeg-turbo-devel \
libpng-devel \
- libpq-devel postgresql-server-devel \
+ postgresql-server-devel \
libtiff-devel \
libuv-devel \
libxml2-devel \
diff --git a/.gitlab/ci/docker/fedora34/install_ispc.sh b/.gitlab/ci/docker/fedora35/install_ispc.sh
index fdc14b5..fdc14b5 100755
--- a/.gitlab/ci/docker/fedora34/install_ispc.sh
+++ b/.gitlab/ci/docker/fedora35/install_ispc.sh
diff --git a/.gitlab/ci/docker/fedora34/install_rvm.sh b/.gitlab/ci/docker/fedora35/install_rvm.sh
index fca5104..fca5104 100755
--- a/.gitlab/ci/docker/fedora34/install_rvm.sh
+++ b/.gitlab/ci/docker/fedora35/install_rvm.sh
diff --git a/.gitlab/ci/env_cuda11.6_clang.sh b/.gitlab/ci/env_cuda11.6_clang.sh
new file mode 100644
index 0000000..f4be338
--- /dev/null
+++ b/.gitlab/ci/env_cuda11.6_clang.sh
@@ -0,0 +1,3 @@
+export CC=/usr/bin/clang-13
+export CXX=/usr/bin/clang++-13
+export CUDACXX=/usr/bin/clang++-13
diff --git a/.gitlab/ci/env_fedora34_asan.sh b/.gitlab/ci/env_fedora35_asan.sh
index e976486..e976486 100644
--- a/.gitlab/ci/env_fedora34_asan.sh
+++ b/.gitlab/ci/env_fedora35_asan.sh
diff --git a/.gitlab/ci/env_fedora34_clang_analyzer.sh b/.gitlab/ci/env_fedora35_clang_analyzer.sh
index d732c0b..d732c0b 100644
--- a/.gitlab/ci/env_fedora34_clang_analyzer.sh
+++ b/.gitlab/ci/env_fedora35_clang_analyzer.sh
diff --git a/.gitlab/ci/env_fedora34_makefiles.cmake b/.gitlab/ci/env_fedora35_makefiles.cmake
index aa84e23..aa84e23 100644
--- a/.gitlab/ci/env_fedora34_makefiles.cmake
+++ b/.gitlab/ci/env_fedora35_makefiles.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/ci/msvc.ps1 b/.gitlab/ci/msvc.ps1
new file mode 100755
index 0000000..e8388a4
--- /dev/null
+++ b/.gitlab/ci/msvc.ps1
@@ -0,0 +1,31 @@
+$erroractionpreference = "stop"
+
+if ("$env:CMAKE_CONFIGURATION".Contains("msvc_v71")) {
+ # MSVC v71 Toolset from Visual Studio 7 .NET 2003
+ $filename = "msvc-v71-1"
+ $sha256sum = "01637CDC670EA5D631E169E286ACDD1913A124E3C5AF4C3DFB37657ADE8BBA9F"
+ $vcvars = "Vc7\bin\vcvars32.bat"
+} else {
+ throw ('unknown CMAKE_CONFIGURATION: ' + "$env:CMAKE_CONFIGURATION")
+}
+$tarball = "$filename.zip"
+
+$outdir = $pwd.Path
+$outdir = "$outdir\.gitlab"
+$ProgressPreference = 'SilentlyContinue'
+# This URL is only visible inside of Kitware's network. See above filename table.
+Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
+$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
+if ($hash.Hash -ne $sha256sum) {
+ exit 1
+}
+
+Add-Type -AssemblyName System.IO.Compression.FileSystem
+[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
+Move-Item -Path "$outdir\$filename" -Destination "$outdir\msvc"
+
+$bat = Get-Content -path "$outdir\msvc\$vcvars.in" -Raw
+$bat = $bat -replace "@VS_ROOT@","$outdir\msvc"
+$bat | Set-Content -path "$outdir\msvc\$vcvars"
+
+Set-Item -Force -Path "env:VCVARSALL" -Value "$outdir\msvc\$vcvars"
diff --git a/.gitlab/ci/ninja-nightly.ps1 b/.gitlab/ci/ninja-nightly.ps1
new file mode 100755
index 0000000..071b077
--- /dev/null
+++ b/.gitlab/ci/ninja-nightly.ps1
@@ -0,0 +1,9 @@
+$erroractionpreference = "stop"
+
+Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
+Set-Location -Path ".gitlab"
+git clone https://github.com/ninja-build/ninja.git ninja-src
+cmake -S ninja-src -B ninja-src/build -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release
+cmake --build ninja-src/build --target ninja
+Move-Item -Path "ninja-src\build\ninja.exe" -Destination . -Force
+Remove-Item "ninja-src" -Recurse -Force
diff --git a/.gitlab/ci/ninja.ps1 b/.gitlab/ci/ninja.ps1
index 4c5333a..47bb056 100755
--- a/.gitlab/ci/ninja.ps1
+++ b/.gitlab/ci/ninja.ps1
@@ -1,5 +1,10 @@
$erroractionpreference = "stop"
+if ("$env:CMAKE_CI_JOB_NIGHTLY_NINJA" -eq "true" -And "$env:CMAKE_CI_NIGHTLY" -eq "true") {
+ & .gitlab/ci/ninja-nightly.ps1
+ exit $LASTEXITCODE
+}
+
$version = "1.10.2"
$sha256sum = "BBDE850D247D2737C5764C927D1071CBB1F1957DCABDA4A130FA8547C12C695F"
$filename = "ninja-win"
diff --git a/.gitlab/ci/openwatcom.ps1 b/.gitlab/ci/openwatcom.ps1
new file mode 100755
index 0000000..4f1012c
--- /dev/null
+++ b/.gitlab/ci/openwatcom.ps1
@@ -0,0 +1,25 @@
+$erroractionpreference = "stop"
+
+if ("$env:CMAKE_CONFIGURATION".Contains("openwatcom1.9")) {
+ # Open Watcom 1.9
+ # https://web.archive.org/web/20210312132437/http://www.openwatcom.org/download.php
+ $filename = "open-watcom-1.9-1"
+ $sha256sum = "FFE6F5BBA200912697C6EC26C4D3B2623A0358FBE7CBB23BD264CBF7D54E4988"
+} else {
+ throw ('unknown CMAKE_CONFIGURATION: ' + "$env:CMAKE_CONFIGURATION")
+}
+$tarball = "$filename.zip"
+
+$outdir = $pwd.Path
+$outdir = "$outdir\.gitlab"
+$ProgressPreference = 'SilentlyContinue'
+# This URL is only visible inside of Kitware's network. See above filename table.
+Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
+$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
+if ($hash.Hash -ne $sha256sum) {
+ exit 1
+}
+
+Add-Type -AssemblyName System.IO.Compression.FileSystem
+[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
+Move-Item -Path "$outdir\$filename" -Destination "$outdir\watcom"
diff --git a/.gitlab/ci/vcvarsall.ps1 b/.gitlab/ci/vcvarsall.ps1
index 57d3386..f91b100 100755
--- a/.gitlab/ci/vcvarsall.ps1
+++ b/.gitlab/ci/vcvarsall.ps1
@@ -1,6 +1,6 @@
$erroractionpreference = "stop"
-cmd /c "`"$env:VCVARSALL`" $VCVARSPLATFORM -vcvars_ver=$VCVARSVERSION & set" |
+cmd /c "`"$env:VCVARSALL`" $env:VCVARSPLATFORM -vcvars_ver=$env:VCVARSVERSION & set" |
foreach {
if ($_ -match "=") {
$v = $_.split("=")
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml
index 90c10a2..ddcd0d3 100644
--- a/.gitlab/os-linux.yml
+++ b/.gitlab/os-linux.yml
@@ -5,7 +5,7 @@
### Release
.linux_prep_source:
- image: "fedora:34"
+ image: "fedora:35"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -68,8 +68,8 @@
### Fedora
-.fedora34:
- image: "kitware/cmake:ci-fedora34-x86_64-2021-10-05"
+.fedora35:
+ image: "kitware/cmake:ci-fedora35-x86_64-2022-02-01"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes"
@@ -77,37 +77,37 @@
#### Lint builds
-.fedora34_tidy:
- extends: .fedora34
+.fedora35_tidy:
+ extends: .fedora35
variables:
- CMAKE_CONFIGURATION: fedora34_tidy
+ CMAKE_CONFIGURATION: fedora35_tidy
CTEST_NO_WARNINGS_ALLOWED: 1
CMake_SKIP_INSTALL: 1
-.fedora34_clang_analyzer:
- extends: .fedora34
+.fedora35_clang_analyzer:
+ extends: .fedora35
variables:
- CMAKE_CONFIGURATION: fedora34_clang_analyzer
+ CMAKE_CONFIGURATION: fedora35_clang_analyzer
CMAKE_CI_BUILD_TYPE: Debug
CTEST_NO_WARNINGS_ALLOWED: 1
CMake_SKIP_INSTALL: 1
-.fedora34_sphinx:
- extends: .fedora34
+.fedora35_sphinx:
+ extends: .fedora35
variables:
- CMAKE_CONFIGURATION: fedora34_sphinx
+ CMAKE_CONFIGURATION: fedora35_sphinx
CTEST_NO_WARNINGS_ALLOWED: 1
CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
CMake_SKIP_INSTALL: 1
-.fedora34_sphinx_package:
- extends: .fedora34
+.fedora35_sphinx_package:
+ extends: .fedora35
variables:
- CMAKE_CONFIGURATION: fedora34_sphinx_package
+ CMAKE_CONFIGURATION: fedora35_sphinx_package
CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
#### Build and test
@@ -126,27 +126,27 @@
CMAKE_CONFIGURATION: debian10_aarch64_ninja
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora34_ninja:
- extends: .fedora34
+.fedora35_ninja:
+ extends: .fedora35
variables:
- CMAKE_CONFIGURATION: fedora34_ninja
+ CMAKE_CONFIGURATION: fedora35_ninja
CMAKE_CI_BUILD_TYPE: Release
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora34_ninja_multi:
- extends: .fedora34
+.fedora35_ninja_multi:
+ extends: .fedora35
variables:
- CMAKE_CONFIGURATION: fedora34_ninja_multi
+ CMAKE_CONFIGURATION: fedora35_ninja_multi
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Ninja Multi-Config"
-.fedora34_makefiles:
- extends: .fedora34
+.fedora35_makefiles:
+ extends: .fedora35
variables:
- CMAKE_CONFIGURATION: fedora34_makefiles
+ CMAKE_CONFIGURATION: fedora35_makefiles
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Unix Makefiles"
@@ -178,13 +178,13 @@
CTEST_MEMORYCHECK_TYPE: AddressSanitizer
CTEST_MEMORYCHECK_SANITIZER_OPTIONS: ""
-.fedora34_asan:
+.fedora35_asan:
extends:
- - .fedora34
+ - .fedora35
- .fedora_asan_addon
variables:
- CMAKE_CONFIGURATION: fedora34_asan
+ CMAKE_CONFIGURATION: fedora35_asan
### Intel Compiler
@@ -246,6 +246,28 @@
CMAKE_CONFIGURATION: cuda10.2_clang
CTEST_NO_WARNINGS_ALLOWED: 1
+.cuda11.6:
+ image: "kitware/cmake:ci-cuda11.6-x86_64-2022-02-28"
+
+ variables:
+ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
+ CMAKE_ARCH: x86_64
+ CTEST_LABELS: "CUDA"
+
+.cuda11.6_nvidia:
+ extends: .cuda11.6
+
+ variables:
+ CMAKE_CONFIGURATION: cuda11.6_nvidia
+ CTEST_NO_WARNINGS_ALLOWED: 1
+
+.cuda11.6_clang:
+ extends: .cuda11.6
+
+ variables:
+ CMAKE_CONFIGURATION: cuda11.6_clang
+ CTEST_NO_WARNINGS_ALLOWED: 1
+
### HIP builds
.hip4.2:
@@ -353,7 +375,7 @@
.cmake_codespell_linux:
stage: build
- extends: .fedora34
+ extends: .fedora35
script:
- codespell
interruptible: true
@@ -483,7 +505,7 @@
.cmake_org_help:
stage: build
extends:
- - .fedora34
+ - .fedora35
- .linux_builder_tags
- .cmake_org_help_artifacts
script:
diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml
index 806e7ca..aa971f8 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -21,7 +21,7 @@
# could run at the same time, so we drop it.
GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake ci"
-.windows_ninja:
+.windows_build_ninja:
extends: .windows_build
variables:
@@ -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.31.31103"
+.windows_vs2022_x64_ninja:
+ extends:
+ - .windows_build_ninja
+ - .windows_vcvarsall_vs2022_x64
+
+ variables:
+ CMAKE_CONFIGURATION: windows_vs2022_x64_ninja
+
### External testing
.windows_vs2022_x64:
@@ -52,6 +57,90 @@
CMAKE_GENERATOR_TOOLSET: "v143,version=14.31.31103"
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+.windows_vs2019_x64:
+ extends: .windows
+
+ variables:
+ CMAKE_CONFIGURATION: windows_vs2019_x64
+ CMAKE_GENERATOR: "Visual Studio 16 2019"
+ CMAKE_GENERATOR_PLATFORM: "x64"
+ CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30133"
+ CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
+.windows_borland:
+ extends: .windows
+
+ variables:
+ CMAKE_GENERATOR: "Borland Makefiles"
+ CMAKE_CI_BUILD_TYPE: Release
+ CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
+.windows_borland5.5:
+ extends: .windows_borland
+
+ variables:
+ CMAKE_CONFIGURATION: windows_borland5.5
+
+.windows_borland5.8:
+ extends: .windows_borland
+
+ variables:
+ CMAKE_CONFIGURATION: windows_borland5.8
+
+.windows_nmake:
+ extends: .windows
+
+ variables:
+ CMAKE_GENERATOR: "NMake Makefiles"
+ 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
+
+ variables:
+ CMAKE_CONFIGURATION: windows_msvc_v71_nmake
+
+.windows_openwatcom:
+ extends: .windows
+
+ variables:
+ # Watcom does not support spaces in the path.
+ GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
+ CMAKE_GENERATOR: "Watcom WMake"
+ CMAKE_CI_BUILD_TYPE: Release
+ CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
+.windows_openwatcom1.9:
+ extends: .windows_openwatcom
+
+ variables:
+ CMAKE_CONFIGURATION: windows_openwatcom1.9
+
## Tags
.windows_tags_nonconcurrent_vs2022:
@@ -72,16 +161,33 @@
- msvc-19.31
- concurrent
+.windows_tags_concurrent_vs2019:
+ tags:
+ - cmake # Since this is a bare runner, pin to a project.
+ - windows
+ - shell
+ - vs2019
+ - msvc-19.29-16.11
+ - concurrent
+
+.windows_tags_concurrent:
+ tags:
+ - cmake # Since this is a bare runner, pin to a project.
+ - windows
+ - shell
+ - concurrent
+
## Windows-specific scripts
.before_script_windows: &before_script_windows
- - Invoke-Expression -Command .gitlab/ci/wix.ps1
- - Invoke-Expression -Command .gitlab/ci/cmake.ps1
- - Invoke-Expression -Command .gitlab/ci/ninja.ps1
- $pwdpath = $pwd.Path
+ - powershell -File ".gitlab/ci/wix.ps1"
- Set-Item -Force -Path "env:WIX" -Value "$pwdpath\.gitlab\wix"
+ - powershell -File ".gitlab/ci/cmake.ps1"
+ - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\cmake\bin;$env:PATH"
+ - powershell -File ".gitlab/ci/ninja.ps1"
+ - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
- (& "$env:WIX\bin\light.exe" -help) | Select -First 1
- - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$pwdpath\.gitlab\cmake\bin;$env:PATH"
- cmake --version
- ninja --version
- cmake -P .gitlab/ci/download_qt.cmake
@@ -123,3 +229,60 @@
- build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
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
+
+ script:
+ - Invoke-Expression -Command .gitlab/ci/borland.ps1
+ - $pwdpath = $pwd.Path
+ - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\bcc\bin;$env:PATH"
+ - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
+
+ interruptible: true
+
+.cmake_test_windows_msvc:
+ stage: test-ext
+
+ script:
+ - Invoke-Expression -Command .gitlab/ci/msvc.ps1
+ - 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_openwatcom:
+ stage: test-ext
+
+ script:
+ - Invoke-Expression -Command .gitlab/ci/openwatcom.ps1
+ - $pwdpath = $pwd.Path
+ - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\watcom\binnt;$pwdpath\.gitlab\watcom\binw;$env:PATH"
+ - Set-Item -Force -Path "env:INCLUDE" -Value "$pwdpath\.gitlab\watcom\h;$pwdpath\.gitlab\watcom\h\nt"
+ - Set-Item -Force -Path "env:EDPATH" -Value "$pwdpath\.gitlab\watcom\eddat"
+ - Set-Item -Force -Path "env:WATCOM" -Value "$pwdpath\.gitlab\watcom"
+ - Set-Item -Force -Path "env:WLINKTMP" -Value "."
+ - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
+
+ interruptible: true
diff --git a/.gitlab/upload.yml b/.gitlab/upload.yml
index a4cbbde..d831c3e 100644
--- a/.gitlab/upload.yml
+++ b/.gitlab/upload.yml
@@ -1,7 +1,7 @@
# Steps for uploading artifacts
.rsync_upload_package:
- image: "fedora:34"
+ image: "fedora:35"
stage: upload
tags:
- cmake
@@ -21,7 +21,7 @@
.rsync_upload_help:
stage: upload
- image: "fedora:34"
+ image: "fedora:35"
tags:
- cmake
- docker