summaryrefslogtreecommitdiffstats
path: root/.gitlab
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/.gitignore18
-rwxr-xr-x.gitlab/ci/clang-env.ps115
-rwxr-xr-x.gitlab/ci/clang.ps114
-rwxr-xr-x.gitlab/ci/cmake.ps114
-rwxr-xr-x.gitlab/ci/codespell.sh16
-rw-r--r--.gitlab/ci/configure_cuda11.8_minimal_nvidia.cmake3
-rw-r--r--.gitlab/ci/configure_debian10_aarch64_extdeps.cmake1
-rw-r--r--.gitlab/ci/configure_debian10_aarch64_ninja.cmake2
-rw-r--r--.gitlab/ci/configure_debian10_extdeps.cmake1
-rw-r--r--.gitlab/ci/configure_debian10_ninja.cmake2
-rw-r--r--.gitlab/ci/configure_extdeps_common.cmake5
-rw-r--r--.gitlab/ci/configure_fedora36_clang_analyzer.cmake1
-rw-r--r--.gitlab/ci/configure_fedora36_tidy.cmake3
-rw-r--r--.gitlab/ci/configure_fedora37_asan.cmake (renamed from .gitlab/ci/configure_fedora36_asan.cmake)2
-rw-r--r--.gitlab/ci/configure_fedora37_clang_analyzer.cmake1
-rw-r--r--.gitlab/ci/configure_fedora37_common.cmake (renamed from .gitlab/ci/configure_fedora36_common.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora37_common_clang.cmake6
-rw-r--r--.gitlab/ci/configure_fedora37_extdeps.cmake1
-rw-r--r--.gitlab/ci/configure_fedora37_makefiles.cmake (renamed from .gitlab/ci/configure_fedora36_makefiles.cmake)2
-rw-r--r--.gitlab/ci/configure_fedora37_makefiles_clang.cmake1
-rw-r--r--.gitlab/ci/configure_fedora37_ninja.cmake (renamed from .gitlab/ci/configure_fedora36_ninja.cmake)2
-rw-r--r--.gitlab/ci/configure_fedora37_ninja_clang.cmake1
-rw-r--r--.gitlab/ci/configure_fedora37_ninja_multi.cmake (renamed from .gitlab/ci/configure_fedora36_ninja_multi.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora37_sphinx.cmake (renamed from .gitlab/ci/configure_fedora36_sphinx.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora37_sphinx_package.cmake (renamed from .gitlab/ci/configure_fedora36_sphinx_package.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora37_tidy.cmake5
-rw-r--r--.gitlab/ci/configure_linux_clang_cxx_modules_ninja.cmake4
-rw-r--r--.gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake4
-rw-r--r--.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake4
-rw-r--r--.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake4
-rw-r--r--.gitlab/ci/configure_macos_arm64_ninja.cmake3
-rw-r--r--.gitlab/ci/configure_macos_x86_64_makefiles.cmake3
-rw-r--r--.gitlab/ci/configure_macos_x86_64_ninja.cmake3
-rw-r--r--.gitlab/ci/configure_mingw_osdn_io_common.cmake5
-rw-r--r--.gitlab/ci/configure_mingw_osdn_io_mingw_makefiles.cmake1
-rw-r--r--.gitlab/ci/configure_mingw_osdn_io_msys_makefiles.cmake1
-rw-r--r--.gitlab/ci/configure_nvhpc_ninja.cmake5
-rw-r--r--.gitlab/ci/configure_windows_arm64_vs2022.cmake1
-rw-r--r--.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake7
-rw-r--r--.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake2
-rw-r--r--.gitlab/ci/configure_windows_vs2022_x64.cmake3
-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/ctest_exclusions.cmake7
-rw-r--r--.gitlab/ci/ctest_memcheck_fedora37_asan.lsan.supp (renamed from .gitlab/ci/ctest_memcheck_fedora36_asan.lsan.supp)0
-rw-r--r--.gitlab/ci/ctest_standalone.cmake6
-rw-r--r--.gitlab/ci/cxx_modules_rules_clang.cmake16
-rw-r--r--.gitlab/ci/cxx_modules_rules_gcc.cmake10
-rw-r--r--.gitlab/ci/cxx_modules_rules_msvc.cmake3
-rw-r--r--.gitlab/ci/docker/clang_cxx_modules/Dockerfile13
-rwxr-xr-x.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh7
-rwxr-xr-x.gitlab/ci/docker/clang_cxx_modules/install_deps.sh7
-rwxr-xr-x.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh39
-rw-r--r--.gitlab/ci/docker/cuda11.8-minimal/Dockerfile5
-rwxr-xr-x.gitlab/ci/docker/cuda11.8-minimal/install_deps.sh26
-rwxr-xr-x.gitlab/ci/docker/debian10-aarch64/install_deps.sh15
-rwxr-xr-x.gitlab/ci/docker/debian10/install_deps.sh15
-rw-r--r--.gitlab/ci/docker/fedora36/Dockerfile15
-rw-r--r--.gitlab/ci/docker/fedora37/Dockerfile33
-rwxr-xr-x.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh18
-rwxr-xr-x.gitlab/ci/docker/fedora37/install_deps.sh (renamed from .gitlab/ci/docker/fedora36/install_deps.sh)18
-rwxr-xr-x.gitlab/ci/docker/fedora37/install_iwyu.sh44
-rwxr-xr-x.gitlab/ci/docker/fedora37/install_rvm.sh (renamed from .gitlab/ci/docker/fedora36/install_rvm.sh)0
-rw-r--r--.gitlab/ci/docker/gcc_cxx_modules/Dockerfile9
-rwxr-xr-x.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh7
-rwxr-xr-x.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh26
-rw-r--r--.gitlab/ci/docker/nvhpc22.11/Dockerfile6
-rwxr-xr-x.gitlab/ci/docker/nvhpc22.11/install_deps.sh11
-rwxr-xr-x.gitlab/ci/env.ps13
-rw-r--r--.gitlab/ci/env_debian10_aarch64_extdeps.sh1
-rw-r--r--.gitlab/ci/env_debian10_extdeps.sh1
-rw-r--r--.gitlab/ci/env_debian10_ninja.sh8
-rw-r--r--.gitlab/ci/env_extdeps_common.sh5
-rw-r--r--.gitlab/ci/env_fedora37_asan.sh (renamed from .gitlab/ci/env_fedora36_asan.sh)0
-rw-r--r--.gitlab/ci/env_fedora37_clang_analyzer.sh (renamed from .gitlab/ci/env_fedora36_clang_analyzer.sh)0
-rw-r--r--.gitlab/ci/env_fedora37_common_clang.sh4
-rw-r--r--.gitlab/ci/env_fedora37_extdeps.sh1
-rw-r--r--.gitlab/ci/env_fedora37_makefiles.cmake (renamed from .gitlab/ci/env_fedora36_makefiles.cmake)0
-rw-r--r--.gitlab/ci/env_fedora37_makefiles.sh (renamed from .gitlab/ci/env_fedora36_ninja_multi.sh)0
-rw-r--r--.gitlab/ci/env_fedora37_makefiles_clang.sh1
-rw-r--r--.gitlab/ci/env_fedora37_ninja.sh (renamed from .gitlab/ci/env_fedora36_ninja.sh)0
-rw-r--r--.gitlab/ci/env_fedora37_ninja_clang.sh1
-rw-r--r--.gitlab/ci/env_fedora37_ninja_multi.sh (renamed from .gitlab/ci/env_fedora36_makefiles.sh)0
-rw-r--r--.gitlab/ci/env_macos_arm64_ninja.sh1
-rw-r--r--.gitlab/ci/env_macos_x86_64_makefiles.sh1
-rw-r--r--.gitlab/ci/env_macos_x86_64_ninja.sh1
-rwxr-xr-x.gitlab/ci/env_mingw_osdn_io_mingw_makefiles.ps13
-rwxr-xr-x.gitlab/ci/env_mingw_osdn_io_msys_makefiles.ps15
-rw-r--r--.gitlab/ci/env_nvhpc_ninja.sh5
-rw-r--r--.gitlab/ci/env_windows_clang_common.cmake7
-rw-r--r--.gitlab/ci/env_windows_clang_ninja.cmake1
-rwxr-xr-x.gitlab/ci/env_windows_clang_ninja.ps12
-rw-r--r--.gitlab/ci/env_windows_clang_nmake.cmake1
-rwxr-xr-x.gitlab/ci/env_windows_clang_nmake.ps11
-rwxr-xr-x.gitlab/ci/env_windows_vs2022_x64_ninja.ps12
-rwxr-xr-x.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps17
-rwxr-xr-x.gitlab/ci/extdeps-linux.sh62
-rwxr-xr-x.gitlab/ci/ispc-env.ps12
-rwxr-xr-x.gitlab/ci/mingw.ps125
-rwxr-xr-x.gitlab/ci/ninja-env.ps14
-rw-r--r--.gitlab/ci/openmp-env.sh3
-rwxr-xr-x.gitlab/ci/openmp.sh32
-rwxr-xr-x.gitlab/ci/post_build.sh18
-rwxr-xr-x.gitlab/ci/pre_build.sh18
-rw-r--r--.gitlab/ci/pre_build_fedora37_tidy.sh9
-rwxr-xr-x.gitlab/ci/python-env.ps14
-rwxr-xr-x.gitlab/ci/qt-env.ps110
-rw-r--r--.gitlab/os-linux.yml243
-rw-r--r--.gitlab/os-macos.yml18
-rw-r--r--.gitlab/os-windows.yml152
-rw-r--r--.gitlab/upload.yml8
111 files changed, 993 insertions, 201 deletions
diff --git a/.gitlab/.gitignore b/.gitlab/.gitignore
new file mode 100644
index 0000000..10d03ca
--- /dev/null
+++ b/.gitlab/.gitignore
@@ -0,0 +1,18 @@
+# Ignore files known to be downloaded by CI jobs.
+/5.15.1-0-202009071110*
+/bcc*
+/cmake*
+/ispc*
+/jom
+/llvm*
+/mingw
+/msvc*
+/ninja*
+/openmp
+/open-watcom*
+/python*
+/qt*
+/sccache*
+/unstable-jom*
+/watcom
+/wix*
diff --git a/.gitlab/ci/clang-env.ps1 b/.gitlab/ci/clang-env.ps1
new file mode 100755
index 0000000..451fca3
--- /dev/null
+++ b/.gitlab/ci/clang-env.ps1
@@ -0,0 +1,15 @@
+Invoke-Expression -Command .gitlab/ci/clang.ps1
+Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
+
+$pwdpath = $pwd.Path
+Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\llvm\bin;$env:PATH"
+
+if ("$env:CMAKE_CI_BUILD_NAME" -match "(^|_)gnu(_|$)") {
+ $env:CC = "clang"
+ $env:CXX = "clang++"
+ clang --version
+} else {
+ $env:CC = "clang-cl"
+ $env:CXX = "clang-cl"
+ clang-cl --version
+}
diff --git a/.gitlab/ci/clang.ps1 b/.gitlab/ci/clang.ps1
index 25d64ba..29db93d 100755
--- a/.gitlab/ci/clang.ps1
+++ b/.gitlab/ci/clang.ps1
@@ -1,10 +1,10 @@
$erroractionpreference = "stop"
-if ("$env:CMAKE_CI_BUILD_NAME".Contains("clang13.0")) {
- # LLVM/Clang 13.0
- # https://github.com/llvm/llvm-project/releases/tag/llvmorg-13.0.0
- $filename = "llvm-13.0.0-win-x86_64-1"
- $sha256sum = "F1B7CE360DACBC9776D7F84BE714766D60CF3D47492AFE34C45D574D1C597264"
+if ("$env:CMAKE_CI_BUILD_NAME".Contains("clang15.0")) {
+ # LLVM/Clang 15.0
+ # https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.4
+ $filename = "llvm-15.0.4-win-x86_64-1"
+ $sha256sum = "9AA305084C20C27972E103E7B18AAC3F755E0534542AF62FC2F2BF5DDD3C4E1F"
} else {
throw ('unknown CMAKE_CI_BUILD_NAME: ' + "$env:CMAKE_CI_BUILD_NAME")
}
@@ -25,6 +25,7 @@ Add-Type -AssemblyName System.IO.Compression.FileSystem
Move-Item -Path "$outdir\$filename" -Destination "$outdir\llvm"
$bin = "$outdir\llvm\bin"
+$lib = "$outdir\llvm\lib"
$null = New-Item -ItemType HardLink -Path "$bin\clang++.exe" -Target "$bin\clang.exe"
$null = New-Item -ItemType HardLink -Path "$bin\clang-cl.exe" -Target "$bin\clang.exe"
$null = New-Item -ItemType HardLink -Path "$bin\clang-cpp.exe" -Target "$bin\clang.exe"
@@ -34,4 +35,7 @@ $null = New-Item -ItemType HardLink -Path "$bin\lld-link.exe" -Target "$bin\
$null = New-Item -ItemType HardLink -Path "$bin\llvm-lib.exe" -Target "$bin\llvm-ar.exe"
$null = New-Item -ItemType HardLink -Path "$bin\llvm-ranlib.exe" -Target "$bin\llvm-ar.exe"
$null = New-Item -ItemType HardLink -Path "$bin\llvm-objcopy.exe" -Target "$bin\llvm-strip.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\libiomp5md.dll" -Target "$bin\libomp.dll"
+$null = New-Item -ItemType HardLink -Path "$lib\libiomp5md.lib" -Target "$lib\libomp.lib"
Clear-Variable -Name bin
+Clear-Variable -Name lib
diff --git a/.gitlab/ci/cmake.ps1 b/.gitlab/ci/cmake.ps1
index 98aeae3..3efb67a 100755
--- a/.gitlab/ci/cmake.ps1
+++ b/.gitlab/ci/cmake.ps1
@@ -1,8 +1,18 @@
$erroractionpreference = "stop"
$version = "3.24.1"
-$sha256sum = "C1B17431A16337D517F7BA78C7067B6F143A12686CB8087F3DD32F3FA45F5AAE"
-$filename = "cmake-$version-windows-x86_64"
+
+if ("$env:PROCESSOR_ARCHITECTURE" -eq "AMD64") {
+ $sha256sum = "C1B17431A16337D517F7BA78C7067B6F143A12686CB8087F3DD32F3FA45F5AAE"
+ $platform = "windows-x86_64"
+} elseif ("$env:PROCESSOR_ARCHITECTURE" -eq "ARM64") {
+ $sha256sum = "D94683F3B0E63F6EF194C621194F6E26F3735EDA70750395E0F2BBEE4023FB95"
+ $platform = "windows-arm64"
+} else {
+ throw ('unknown PROCESSOR_ARCHITECTURE: ' + "$env:PROCESSOR_ARCHITECTURE")
+}
+
+$filename = "cmake-$version-$platform"
$tarball = "$filename.zip"
$outdir = $pwd.Path
diff --git a/.gitlab/ci/codespell.sh b/.gitlab/ci/codespell.sh
new file mode 100755
index 0000000..fd052bd
--- /dev/null
+++ b/.gitlab/ci/codespell.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+result=0
+echo "Running codespell on source code..."
+codespell || result=1
+
+if [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
+ for COMMIT in $(git rev-list "^$CI_MERGE_REQUEST_DIFF_BASE_SHA" "$CI_COMMIT_SHA"); do
+ echo "Running codespell on commit message of $COMMIT..."
+ git show --format=%B -s "$COMMIT" | codespell - || result=1
+ done
+fi
+
+exit $result
diff --git a/.gitlab/ci/configure_cuda11.8_minimal_nvidia.cmake b/.gitlab/ci/configure_cuda11.8_minimal_nvidia.cmake
new file mode 100644
index 0000000..519699b
--- /dev/null
+++ b/.gitlab/ci/configure_cuda11.8_minimal_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_debian10_aarch64_extdeps.cmake b/.gitlab/ci/configure_debian10_aarch64_extdeps.cmake
new file mode 100644
index 0000000..8e545f5
--- /dev/null
+++ b/.gitlab/ci/configure_debian10_aarch64_extdeps.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_extdeps_common.cmake")
diff --git a/.gitlab/ci/configure_debian10_aarch64_ninja.cmake b/.gitlab/ci/configure_debian10_aarch64_ninja.cmake
index bbccbcf..605f6ba 100644
--- a/.gitlab/ci/configure_debian10_aarch64_ninja.cmake
+++ b/.gitlab/ci/configure_debian10_aarch64_ninja.cmake
@@ -44,11 +44,13 @@ set(CMake_TEST_FindMPI_Fortran "ON" CACHE BOOL "")
set(CMake_TEST_FindMPI "ON" CACHE BOOL "")
set(CMake_TEST_FindODBC "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_Fortran "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenSP "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenSSL "ON" CACHE BOOL "")
set(CMake_TEST_FindPatch "ON" CACHE BOOL "")
set(CMake_TEST_FindPNG "ON" CACHE BOOL "")
diff --git a/.gitlab/ci/configure_debian10_extdeps.cmake b/.gitlab/ci/configure_debian10_extdeps.cmake
new file mode 100644
index 0000000..8e545f5
--- /dev/null
+++ b/.gitlab/ci/configure_debian10_extdeps.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_extdeps_common.cmake")
diff --git a/.gitlab/ci/configure_debian10_ninja.cmake b/.gitlab/ci/configure_debian10_ninja.cmake
index 2fcff7a..214828a 100644
--- a/.gitlab/ci/configure_debian10_ninja.cmake
+++ b/.gitlab/ci/configure_debian10_ninja.cmake
@@ -48,11 +48,13 @@ set(CMake_TEST_FindMPI_Fortran "ON" CACHE BOOL "")
set(CMake_TEST_FindMPI "ON" CACHE BOOL "")
set(CMake_TEST_FindODBC "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_Fortran "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenSP "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenSSL "ON" CACHE BOOL "")
set(CMake_TEST_FindPatch "ON" CACHE BOOL "")
set(CMake_TEST_FindPNG "ON" CACHE BOOL "")
diff --git a/.gitlab/ci/configure_extdeps_common.cmake b/.gitlab/ci/configure_extdeps_common.cmake
new file mode 100644
index 0000000..2c7d328
--- /dev/null
+++ b/.gitlab/ci/configure_extdeps_common.cmake
@@ -0,0 +1,5 @@
+set(CMAKE_USE_SYSTEM_LIBRARIES ON CACHE BOOL "")
+set(CMAKE_SKIP_BOOTSTRAP_TEST ON CACHE BOOL "")
+set(CMake_TEST_Qt6 OFF CACHE BOOL "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")
diff --git a/.gitlab/ci/configure_fedora36_clang_analyzer.cmake b/.gitlab/ci/configure_fedora36_clang_analyzer.cmake
deleted file mode 100644
index 456936b..0000000
--- a/.gitlab/ci/configure_fedora36_clang_analyzer.cmake
+++ /dev/null
@@ -1 +0,0 @@
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora36_common.cmake")
diff --git a/.gitlab/ci/configure_fedora36_tidy.cmake b/.gitlab/ci/configure_fedora36_tidy.cmake
deleted file mode 100644
index 38414d3..0000000
--- a/.gitlab/ci/configure_fedora36_tidy.cmake
+++ /dev/null
@@ -1,3 +0,0 @@
-set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "")
-
-include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora36_common.cmake")
diff --git a/.gitlab/ci/configure_fedora36_asan.cmake b/.gitlab/ci/configure_fedora37_asan.cmake
index 51977d9..363e953 100644
--- a/.gitlab/ci/configure_fedora36_asan.cmake
+++ b/.gitlab/ci/configure_fedora37_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_fedora36_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common.cmake")
diff --git a/.gitlab/ci/configure_fedora37_clang_analyzer.cmake b/.gitlab/ci/configure_fedora37_clang_analyzer.cmake
new file mode 100644
index 0000000..f4c4cdd
--- /dev/null
+++ b/.gitlab/ci/configure_fedora37_clang_analyzer.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common.cmake")
diff --git a/.gitlab/ci/configure_fedora36_common.cmake b/.gitlab/ci/configure_fedora37_common.cmake
index 4484e26..4484e26 100644
--- a/.gitlab/ci/configure_fedora36_common.cmake
+++ b/.gitlab/ci/configure_fedora37_common.cmake
diff --git a/.gitlab/ci/configure_fedora37_common_clang.cmake b/.gitlab/ci/configure_fedora37_common_clang.cmake
new file mode 100644
index 0000000..70c9df9
--- /dev/null
+++ b/.gitlab/ci/configure_fedora37_common_clang.cmake
@@ -0,0 +1,6 @@
+set(CMAKE_Fortran_COMPILER "/usr/bin/flang-new" CACHE FILEPATH "")
+set(CMAKE_Fortran_COMPILER_ID "LLVMFlang" CACHE STRING "")
+set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 "1" CACHE BOOL "")
+set(CMAKE_Fortran_FLAGS "-flang-experimental-exec" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_fedora37_extdeps.cmake b/.gitlab/ci/configure_fedora37_extdeps.cmake
new file mode 100644
index 0000000..8e545f5
--- /dev/null
+++ b/.gitlab/ci/configure_fedora37_extdeps.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_extdeps_common.cmake")
diff --git a/.gitlab/ci/configure_fedora36_makefiles.cmake b/.gitlab/ci/configure_fedora37_makefiles.cmake
index c5b5190..11d1a08 100644
--- a/.gitlab/ci/configure_fedora36_makefiles.cmake
+++ b/.gitlab/ci/configure_fedora37_makefiles.cmake
@@ -47,11 +47,13 @@ set(CMake_TEST_FindMPI_Fortran "ON" CACHE BOOL "")
set(CMake_TEST_FindMPI "ON" CACHE BOOL "")
set(CMake_TEST_FindODBC "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_Fortran "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
+set(CMake_TEST_FindOpenSP "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenSSL "ON" CACHE BOOL "")
set(CMake_TEST_FindPatch "ON" CACHE BOOL "")
set(CMake_TEST_FindPNG "ON" CACHE BOOL "")
diff --git a/.gitlab/ci/configure_fedora37_makefiles_clang.cmake b/.gitlab/ci/configure_fedora37_makefiles_clang.cmake
new file mode 100644
index 0000000..7b82a9a
--- /dev/null
+++ b/.gitlab/ci/configure_fedora37_makefiles_clang.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common_clang.cmake")
diff --git a/.gitlab/ci/configure_fedora36_ninja.cmake b/.gitlab/ci/configure_fedora37_ninja.cmake
index 45d9192..3defa5a 100644
--- a/.gitlab/ci/configure_fedora36_ninja.cmake
+++ b/.gitlab/ci/configure_fedora37_ninja.cmake
@@ -10,4 +10,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_fedora36_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common.cmake")
diff --git a/.gitlab/ci/configure_fedora37_ninja_clang.cmake b/.gitlab/ci/configure_fedora37_ninja_clang.cmake
new file mode 100644
index 0000000..7b82a9a
--- /dev/null
+++ b/.gitlab/ci/configure_fedora37_ninja_clang.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common_clang.cmake")
diff --git a/.gitlab/ci/configure_fedora36_ninja_multi.cmake b/.gitlab/ci/configure_fedora37_ninja_multi.cmake
index 94af721..94af721 100644
--- a/.gitlab/ci/configure_fedora36_ninja_multi.cmake
+++ b/.gitlab/ci/configure_fedora37_ninja_multi.cmake
diff --git a/.gitlab/ci/configure_fedora36_sphinx.cmake b/.gitlab/ci/configure_fedora37_sphinx.cmake
index 90d159b..90d159b 100644
--- a/.gitlab/ci/configure_fedora36_sphinx.cmake
+++ b/.gitlab/ci/configure_fedora37_sphinx.cmake
diff --git a/.gitlab/ci/configure_fedora36_sphinx_package.cmake b/.gitlab/ci/configure_fedora37_sphinx_package.cmake
index e839de8..e839de8 100644
--- a/.gitlab/ci/configure_fedora36_sphinx_package.cmake
+++ b/.gitlab/ci/configure_fedora37_sphinx_package.cmake
diff --git a/.gitlab/ci/configure_fedora37_tidy.cmake b/.gitlab/ci/configure_fedora37_tidy.cmake
new file mode 100644
index 0000000..f8eb9ab
--- /dev/null
+++ b/.gitlab/ci/configure_fedora37_tidy.cmake
@@ -0,0 +1,5 @@
+set(CMake_RUN_CLANG_TIDY ON CACHE BOOL "")
+set(CMake_USE_CLANG_TIDY_MODULE ON CACHE BOOL "")
+set(CMake_CLANG_TIDY_MODULE "$ENV{CI_PROJECT_DIR}/Utilities/ClangTidyModule/build/libcmake-clang-tidy-module.so" CACHE FILEPATH "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common.cmake")
diff --git a/.gitlab/ci/configure_linux_clang_cxx_modules_ninja.cmake b/.gitlab/ci/configure_linux_clang_cxx_modules_ninja.cmake
new file mode 100644
index 0000000..43bccdb
--- /dev/null
+++ b/.gitlab/ci/configure_linux_clang_cxx_modules_ninja.cmake
@@ -0,0 +1,4 @@
+set(CMake_TEST_MODULE_COMPILATION "named,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake b/.gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake
new file mode 100644
index 0000000..43bccdb
--- /dev/null
+++ b/.gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake
@@ -0,0 +1,4 @@
+set(CMake_TEST_MODULE_COMPILATION "named,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake
new file mode 100644
index 0000000..110df76
--- /dev/null
+++ b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake
@@ -0,0 +1,4 @@
+set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_gcc.cmake" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake
new file mode 100644
index 0000000..110df76
--- /dev/null
+++ b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake
@@ -0,0 +1,4 @@
+set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_gcc.cmake" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_macos_arm64_ninja.cmake b/.gitlab/ci/configure_macos_arm64_ninja.cmake
index f657d98..1a41bc3 100644
--- a/.gitlab/ci/configure_macos_arm64_ninja.cmake
+++ b/.gitlab/ci/configure_macos_arm64_ninja.cmake
@@ -1,3 +1,6 @@
+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_GUI "ON" CACHE BOOL "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_macos_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake")
diff --git a/.gitlab/ci/configure_macos_x86_64_makefiles.cmake b/.gitlab/ci/configure_macos_x86_64_makefiles.cmake
index d3ef93f..113fe56 100644
--- a/.gitlab/ci/configure_macos_x86_64_makefiles.cmake
+++ b/.gitlab/ci/configure_macos_x86_64_makefiles.cmake
@@ -1,3 +1,6 @@
+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_GUI "ON" CACHE BOOL "")
if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
diff --git a/.gitlab/ci/configure_macos_x86_64_ninja.cmake b/.gitlab/ci/configure_macos_x86_64_ninja.cmake
index d3ef93f..113fe56 100644
--- a/.gitlab/ci/configure_macos_x86_64_ninja.cmake
+++ b/.gitlab/ci/configure_macos_x86_64_ninja.cmake
@@ -1,3 +1,6 @@
+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_GUI "ON" CACHE BOOL "")
if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
diff --git a/.gitlab/ci/configure_mingw_osdn_io_common.cmake b/.gitlab/ci/configure_mingw_osdn_io_common.cmake
new file mode 100644
index 0000000..55dce1d
--- /dev/null
+++ b/.gitlab/ci/configure_mingw_osdn_io_common.cmake
@@ -0,0 +1,5 @@
+set(CMake_TEST_Java OFF CACHE BOOL "")
+
+set(configure_no_sccache 1)
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_mingw_osdn_io_mingw_makefiles.cmake b/.gitlab/ci/configure_mingw_osdn_io_mingw_makefiles.cmake
new file mode 100644
index 0000000..5ddd410
--- /dev/null
+++ b/.gitlab/ci/configure_mingw_osdn_io_mingw_makefiles.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_mingw_osdn_io_common.cmake")
diff --git a/.gitlab/ci/configure_mingw_osdn_io_msys_makefiles.cmake b/.gitlab/ci/configure_mingw_osdn_io_msys_makefiles.cmake
new file mode 100644
index 0000000..5ddd410
--- /dev/null
+++ b/.gitlab/ci/configure_mingw_osdn_io_msys_makefiles.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_mingw_osdn_io_common.cmake")
diff --git a/.gitlab/ci/configure_nvhpc_ninja.cmake b/.gitlab/ci/configure_nvhpc_ninja.cmake
new file mode 100644
index 0000000..ca8ba93
--- /dev/null
+++ b/.gitlab/ci/configure_nvhpc_ninja.cmake
@@ -0,0 +1,5 @@
+set(CMake_TEST_CUDA "NVIDIA" CACHE STRING "")
+
+set(configure_no_sccache 1)
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_arm64_vs2022.cmake b/.gitlab/ci/configure_windows_arm64_vs2022.cmake
new file mode 100644
index 0000000..c7d41ea
--- /dev/null
+++ b/.gitlab/ci/configure_windows_arm64_vs2022.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common.cmake")
diff --git a/.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake b/.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake
new file mode 100644
index 0000000..722e009
--- /dev/null
+++ b/.gitlab/ci/configure_windows_arm64_vs2022_ninja.cmake
@@ -0,0 +1,7 @@
+# Qt host tools are not yet available natively on windows-arm64.
+set(CMake_TEST_GUI "OFF" CACHE BOOL "")
+set(BUILD_QtDialog "OFF" CACHE BOOL "")
+set(CMAKE_PREFIX_PATH "" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_cxx_modules_common.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common_ninja.cmake")
diff --git a/.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake b/.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake
new file mode 100644
index 0000000..38dd729
--- /dev/null
+++ b/.gitlab/ci/configure_windows_msvc_cxx_modules_common.cmake
@@ -0,0 +1,2 @@
+set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,shared,export_bmi,install_bmi" CACHE STRING "")
+set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_msvc.cmake" CACHE STRING "")
diff --git a/.gitlab/ci/configure_windows_vs2022_x64.cmake b/.gitlab/ci/configure_windows_vs2022_x64.cmake
index c7d41ea..1e0f584 100644
--- a/.gitlab/ci/configure_windows_vs2022_x64.cmake
+++ b/.gitlab/ci/configure_windows_vs2022_x64.cmake
@@ -1 +1,4 @@
+set(CMake_TEST_MODULE_COMPILATION "named,partitions" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_cxx_modules_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common.cmake")
diff --git a/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake b/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
index 7f57181..f5a6d80 100644
--- a/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
+++ b/.gitlab/ci/configure_windows_vs2022_x64_ninja.cmake
@@ -2,4 +2,5 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
endif()
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_cxx_modules_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_vs_common_ninja.cmake")
diff --git a/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake b/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake
index 5b2f0b7..2b0c76d 100644
--- a/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake
+++ b/.gitlab/ci/configure_windows_vs2022_x64_ninja_multi.cmake
@@ -2,4 +2,5 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "")
set(CMake_TEST_ISPC "ON" CACHE STRING "")
endif()
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_cxx_modules_common.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_msvc_common.cmake")
diff --git a/.gitlab/ci/ctest_exclusions.cmake b/.gitlab/ci/ctest_exclusions.cmake
index 89a5ace..a2789c3 100644
--- a/.gitlab/ci/ctest_exclusions.cmake
+++ b/.gitlab/ci/ctest_exclusions.cmake
@@ -27,6 +27,13 @@ if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "_jom")
)
endif()
+if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "nvhpc_")
+ list(APPEND test_exclusions
+ # FIXME(#24187): This test fails with NVHPC as the CUDA host compiler.
+ "^CudaOnly.SeparateCompilationPTX$"
+ )
+endif()
+
string(REPLACE ";" "|" test_exclusions "${test_exclusions}")
if (test_exclusions)
set(test_exclusions "(${test_exclusions})")
diff --git a/.gitlab/ci/ctest_memcheck_fedora36_asan.lsan.supp b/.gitlab/ci/ctest_memcheck_fedora37_asan.lsan.supp
index 8ec1a03..8ec1a03 100644
--- a/.gitlab/ci/ctest_memcheck_fedora36_asan.lsan.supp
+++ b/.gitlab/ci/ctest_memcheck_fedora37_asan.lsan.supp
diff --git a/.gitlab/ci/ctest_standalone.cmake b/.gitlab/ci/ctest_standalone.cmake
index 9199693..36ba71c 100644
--- a/.gitlab/ci/ctest_standalone.cmake
+++ b/.gitlab/ci/ctest_standalone.cmake
@@ -3,8 +3,8 @@ cmake_minimum_required(VERSION 3.8)
include("${CMAKE_CURRENT_LIST_DIR}/gitlab_ci.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/env_$ENV{CMAKE_CONFIGURATION}.cmake" OPTIONAL)
-set(cmake_args
- -C "${CMAKE_CURRENT_LIST_DIR}/configure_$ENV{CMAKE_CONFIGURATION}.cmake")
+set(initial_cache "${CMAKE_CURRENT_LIST_DIR}/configure_$ENV{CMAKE_CONFIGURATION}.cmake")
+set(cmake_args -C "${initial_cache}")
include(ProcessorCount)
ProcessorCount(nproc)
@@ -25,6 +25,8 @@ ctest_update()
if("$ENV{CMAKE_CI_BOOTSTRAP}")
set(CTEST_CONFIGURE_COMMAND "\"${CTEST_SOURCE_DIRECTORY}/bootstrap\" --parallel=${nproc}")
+elseif("$ENV{CMAKE_CONFIGURATION}" MATCHES "extdeps")
+ set(CTEST_CONFIGURE_COMMAND "/opt/extdeps/bin/cmake -C \"${initial_cache}\" -G \"${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\"")
endif()
# Configure the project.
diff --git a/.gitlab/ci/cxx_modules_rules_clang.cmake b/.gitlab/ci/cxx_modules_rules_clang.cmake
new file mode 100644
index 0000000..9d75880
--- /dev/null
+++ b/.gitlab/ci/cxx_modules_rules_clang.cmake
@@ -0,0 +1,16 @@
+set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3")
+
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
+string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
+ "${CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS}"
+ " -format=p1689 --p1689-targeted-file-name=<SOURCE> --p1689-targeted-output=<OBJECT> --"
+ " <DEFINES> <INCLUDES> <FLAGS> -x c++ <SOURCE>"
+ " > <DYNDEP_FILE>")
+# No support for `-MF` discovered dependencies in `clang-scan-deps`.
+set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_DEPFILE_FORMAT "none")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "clang")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
+
+# Default to C++ extensions being off. Clang's modules support have trouble
+# with extensions right now.
+set(CMAKE_CXX_EXTENSIONS OFF)
diff --git a/.gitlab/ci/cxx_modules_rules_gcc.cmake b/.gitlab/ci/cxx_modules_rules_gcc.cmake
new file mode 100644
index 0000000..d800099
--- /dev/null
+++ b/.gitlab/ci/cxx_modules_rules_gcc.cmake
@@ -0,0 +1,10 @@
+set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3")
+
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
+string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
+ "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E -x c++ <SOURCE>"
+ " -MT <DYNDEP_FILE> -MD -MF <DEP_FILE>"
+ " -fmodules-ts -fdep-file=<DYNDEP_FILE> -fdep-output=<OBJECT> -fdep-format=trtbd"
+ " -o <PREPROCESSED_SOURCE>")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "gcc")
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "-fmodules-ts -fmodule-mapper=<MODULE_MAP_FILE> -fdep-format=trtbd -x c++")
diff --git a/.gitlab/ci/cxx_modules_rules_msvc.cmake b/.gitlab/ci/cxx_modules_rules_msvc.cmake
new file mode 100644
index 0000000..cb327fd
--- /dev/null
+++ b/.gitlab/ci/cxx_modules_rules_msvc.cmake
@@ -0,0 +1,3 @@
+set(CMake_TEST_CXXModules_UUID "a246741c-d067-4019-a8fb-3d16b0c9d1d3")
+
+set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
diff --git a/.gitlab/ci/docker/clang_cxx_modules/Dockerfile b/.gitlab/ci/docker/clang_cxx_modules/Dockerfile
new file mode 100644
index 0000000..4e58125
--- /dev/null
+++ b/.gitlab/ci/docker/clang_cxx_modules/Dockerfile
@@ -0,0 +1,13 @@
+FROM fedora:37
+MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
+
+# Install build dependencies for packages.
+COPY install_deps.sh /root/install_deps.sh
+RUN sh /root/install_deps.sh
+
+COPY install_llvm.sh /root/install_llvm.sh
+RUN sh /root/install_llvm.sh
+
+# Install build dependencies for CMake's CI.
+COPY install_cmake_deps.sh /root/install_cmake_deps.sh
+RUN sh /root/install_cmake_deps.sh
diff --git a/.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh b/.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh
new file mode 100755
index 0000000..465e125
--- /dev/null
+++ b/.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+dnf install -y --setopt=install_weak_deps=False \
+ file git-core
+dnf clean all
diff --git a/.gitlab/ci/docker/clang_cxx_modules/install_deps.sh b/.gitlab/ci/docker/clang_cxx_modules/install_deps.sh
new file mode 100755
index 0000000..c1957c3
--- /dev/null
+++ b/.gitlab/ci/docker/clang_cxx_modules/install_deps.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+dnf install -y --setopt=install_weak_deps=False \
+ gcc-c++ cmake ninja-build
+dnf clean all
diff --git a/.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh b/.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh
new file mode 100755
index 0000000..09d0106
--- /dev/null
+++ b/.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+set -e
+
+readonly revision="p1689r5-cmake-ci-20221201" # ae3b5489585b60a2b7f090ebb9e1e8729b811253
+readonly tarball="https://github.com/mathstuf/llvm-project/archive/$revision.tar.gz"
+
+readonly workdir="$HOME/llvm"
+readonly srcdir="$workdir/llvm"
+readonly builddir="$workdir/build"
+
+mkdir -p "$workdir"
+cd "$workdir"
+curl -L "$tarball" > "llvm-$revision.tar.gz"
+tar xf "llvm-$revision.tar.gz"
+mv "llvm-project-$revision" "$srcdir"
+mkdir -p "$builddir"
+cd "$builddir"
+cmake -GNinja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=ON \
+ -DLLVM_ENABLE_BINDINGS=OFF \
+ -DLLVM_INCLUDE_BENCHMARKS=OFF \
+ -DLLVM_INCLUDE_DOCS=OFF \
+ -DLLVM_INCLUDE_EXAMPLES=OFF \
+ -DLLVM_INCLUDE_RUNTIMES=OFF \
+ -DLLVM_INCLUDE_TESTS=OFF \
+ -DLLVM_INCLUDE_UTILS=OFF \
+ -DLLVM_TARGETS_TO_BUILD=X86 \
+ -DLLVM_TOOL_CLANG_BUILD=ON \
+ -DLLVM_USE_SYMLINKS=ON \
+ "-DLLVM_EXTERNAL_CLANG_SOURCE_DIR=$srcdir/clang" \
+ -DLLVM_PARALLEL_LINK_JOBS=1 \
+ -DCLANG_BUILD_TOOLS=ON \
+ "-DCMAKE_INSTALL_PREFIX=/opt/llvm-p1689" \
+ "$srcdir/llvm"
+ninja
+ninja install/strip
+rm -rf "$workdir"
diff --git a/.gitlab/ci/docker/cuda11.8-minimal/Dockerfile b/.gitlab/ci/docker/cuda11.8-minimal/Dockerfile
new file mode 100644
index 0000000..02e096e
--- /dev/null
+++ b/.gitlab/ci/docker/cuda11.8-minimal/Dockerfile
@@ -0,0 +1,5 @@
+FROM nvidia/cuda:11.8.0-devel-ubuntu20.04
+MAINTAINER Robert Maynard <rmaynard@nvidia.com>
+
+COPY install_deps.sh /root/install_deps.sh
+RUN sh /root/install_deps.sh
diff --git a/.gitlab/ci/docker/cuda11.8-minimal/install_deps.sh b/.gitlab/ci/docker/cuda11.8-minimal/install_deps.sh
new file mode 100755
index 0000000..55f4ce5
--- /dev/null
+++ b/.gitlab/ci/docker/cuda11.8-minimal/install_deps.sh
@@ -0,0 +1,26 @@
+#!/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++ \
+ curl \
+ git
+
+# Reduce to minimal subset of libraries by removing static libraries
+mkdir /tmp/cuda_required
+mv /usr/local/cuda/lib64/libcuda* /tmp/cuda_required/
+rm -f /usr/local/cuda/lib64/*static.a
+mv /tmp/cuda_required/libcuda* /usr/local/cuda/lib64/
+rmdir /tmp/cuda_required
+
+apt-get clean
diff --git a/.gitlab/ci/docker/debian10-aarch64/install_deps.sh b/.gitlab/ci/docker/debian10-aarch64/install_deps.sh
index 3dd814d..8b5a001 100755
--- a/.gitlab/ci/docker/debian10-aarch64/install_deps.sh
+++ b/.gitlab/ci/docker/debian10-aarch64/install_deps.sh
@@ -14,6 +14,20 @@ apt-get install -y \
curl \
git
+# Install optional external build dependencies.
+apt-get install -y \
+ libarchive-dev \
+ libbz2-dev \
+ libcurl4-gnutls-dev \
+ libexpat1-dev \
+ libjsoncpp-dev \
+ liblzma-dev \
+ libncurses-dev \
+ librhash-dev \
+ libuv1-dev \
+ libzstd-dev \
+ zlib1g-dev
+
# Install iwyu runtime deps.
apt-get install -y \
clang-6.0 \
@@ -66,6 +80,7 @@ apt-get install -y \
liblzma-dev \
libopenal-dev \
libopenmpi-dev openmpi-bin \
+ libosp-dev \
libpng-dev \
libpq-dev postgresql-server-dev-11 \
libprotobuf-dev libprotobuf-c-dev libprotoc-dev protobuf-compiler protobuf-compiler-grpc \
diff --git a/.gitlab/ci/docker/debian10/install_deps.sh b/.gitlab/ci/docker/debian10/install_deps.sh
index f796816..486b2f7 100755
--- a/.gitlab/ci/docker/debian10/install_deps.sh
+++ b/.gitlab/ci/docker/debian10/install_deps.sh
@@ -14,6 +14,20 @@ apt-get install -y \
curl \
git
+# Install optional external build dependencies.
+apt-get install -y \
+ libarchive-dev \
+ libbz2-dev \
+ libcurl4-gnutls-dev \
+ libexpat1-dev \
+ libjsoncpp-dev \
+ liblzma-dev \
+ libncurses-dev \
+ librhash-dev \
+ libuv1-dev \
+ libzstd-dev \
+ zlib1g-dev
+
# Install iwyu runtime deps.
apt-get install -y \
clang-6.0 \
@@ -70,6 +84,7 @@ apt-get install -y \
liblzma-dev \
libopenal-dev \
libopenmpi-dev openmpi-bin \
+ libosp-dev \
libpng-dev \
libpq-dev postgresql-server-dev-11 \
libprotobuf-dev libprotobuf-c-dev libprotoc-dev protobuf-compiler protobuf-compiler-grpc \
diff --git a/.gitlab/ci/docker/fedora36/Dockerfile b/.gitlab/ci/docker/fedora36/Dockerfile
deleted file mode 100644
index 26f8e3e..0000000
--- a/.gitlab/ci/docker/fedora36/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM fedora:36 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:36
-MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
-
-COPY install_deps.sh /root/install_deps.sh
-RUN sh /root/install_deps.sh
-
-COPY --from=rvm-build /root/rvm.tar /root/rvm.tar
-RUN tar -C /usr/local -xf /root/rvm.tar \
- && rm /root/rvm.tar
diff --git a/.gitlab/ci/docker/fedora37/Dockerfile b/.gitlab/ci/docker/fedora37/Dockerfile
new file mode 100644
index 0000000..13ef9aa
--- /dev/null
+++ b/.gitlab/ci/docker/fedora37/Dockerfile
@@ -0,0 +1,33 @@
+FROM fedora:37 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:37 AS clang-tidy-headers
+MAINTAINER Kyle Edwards <kyle.edwards@kitware.com>
+
+COPY install_clang_tidy_headers.sh /root/install_clang_tidy_headers.sh
+RUN sh /root/install_clang_tidy_headers.sh
+
+FROM fedora:37 AS iwyu
+MAINTAINER Kyle Edwards <kyle.edwards@kitware.com>
+
+COPY install_iwyu.sh /root/install_iwyu.sh
+RUN sh /root/install_iwyu.sh
+
+FROM fedora:37
+MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
+
+COPY install_deps.sh /root/install_deps.sh
+RUN sh /root/install_deps.sh
+
+COPY --from=rvm-build /root/rvm.tar /root/rvm.tar
+RUN tar -C /usr/local -xf /root/rvm.tar \
+ && rm /root/rvm.tar
+COPY --from=clang-tidy-headers /root/clang-tidy-headers.tar /root/clang-tidy-headers.tar
+RUN tar -C /usr/include -xf /root/clang-tidy-headers.tar \
+ && rm /root/clang-tidy-headers.tar
+COPY --from=iwyu /root/iwyu.tar /root/iwyu.tar
+RUN tar -C / -xf /root/iwyu.tar \
+ && rm /root/iwyu.tar
diff --git a/.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh b/.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh
new file mode 100755
index 0000000..b9883f4
--- /dev/null
+++ b/.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+# Packages for building the clang-tidy plugin.
+# TODO: Upstream this as a proper Fedora package.
+dnf install --setopt=install_weak_deps=False -y \
+ 'dnf-command(download)' \
+ rpm-build \
+ python3-devel \
+ clang-tools-extra
+clang_source_rpm=$(rpm -q --queryformat '%{SOURCERPM}' clang-tools-extra)
+clang_version=$(rpm -q --queryformat '%{VERSION}' clang-tools-extra)
+dnf download --source -y clang
+rpm -i "$clang_source_rpm"
+rpmbuild -bp /root/rpmbuild/SPECS/clang.spec
+cd "/root/rpmbuild/BUILD/clang-tools-extra-$clang_version.src"
+find clang-tidy -name '*.h' | tar -cf /root/clang-tidy-headers.tar -T -
diff --git a/.gitlab/ci/docker/fedora36/install_deps.sh b/.gitlab/ci/docker/fedora37/install_deps.sh
index b8ddfb9..afb8560 100755
--- a/.gitlab/ci/docker/fedora36/install_deps.sh
+++ b/.gitlab/ci/docker/fedora37/install_deps.sh
@@ -11,12 +11,29 @@ dnf install --setopt=install_weak_deps=False -y \
# Install development tools.
dnf install --setopt=install_weak_deps=False -y \
+ clang \
clang-tools-extra \
compiler-rt \
+ flang \
+ flang-devel \
gcc-c++ \
git-core \
make
+# Install optional external build dependencies.
+dnf install --setopt=install_weak_deps=False -y \
+ bzip2-devel \
+ expat-devel \
+ jsoncpp-devel \
+ libarchive-devel \
+ libcurl-devel \
+ libuv-devel \
+ libuv-devel \
+ libzstd-devel \
+ rhash-devel \
+ xz-devel \
+ zlib-devel
+
# Install documentation tools.
dnf install --setopt=install_weak_deps=False -y \
python3-sphinx \
@@ -78,6 +95,7 @@ dnf install --setopt=install_weak_deps=False -y \
libinput-devel systemd-devel \
libjpeg-turbo-devel \
libpng-devel \
+ opensp-devel \
postgresql-server-devel \
libtiff-devel \
libuv-devel \
diff --git a/.gitlab/ci/docker/fedora37/install_iwyu.sh b/.gitlab/ci/docker/fedora37/install_iwyu.sh
new file mode 100755
index 0000000..714bcc0
--- /dev/null
+++ b/.gitlab/ci/docker/fedora37/install_iwyu.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+set -e
+
+# Install development tools.
+dnf install --setopt=install_weak_deps=False -y \
+ clang-devel \
+ llvm-devel \
+ zlib-devel \
+ g++ \
+ cmake \
+ ninja-build \
+ git
+
+cd /root
+git clone "https://github.com/include-what-you-use/include-what-you-use.git"
+cd include-what-you-use
+readonly llvm_full_version="$( clang --version | head -n1 | cut -d' ' -f3 )"
+readonly llvm_version="$( echo "$llvm_full_version" | cut -d. -f-1 )"
+git checkout "clang_$llvm_version"
+git apply <<EOF
+diff --git a/iwyu_driver.cc b/iwyu_driver.cc
+index 42fea35..fbb77a9 100644
+--- a/iwyu_driver.cc
++++ b/iwyu_driver.cc
+@@ -167,6 +167,7 @@ CompilerInstance* CreateCompilerInstance(int argc, const char **argv) {
+ DiagnosticsEngine diagnostics(diagnostic_id, &*diagnostic_options,
+ diagnostic_client);
+ Driver driver(path, getDefaultTargetTriple(), diagnostics);
++ driver.ResourceDir = "/usr/lib64/clang/$llvm_full_version";
+ driver.setTitle("include what you use");
+
+ // Expand out any response files passed on the command line
+EOF
+mkdir build
+cd build
+
+cmake -GNinja \
+ -DCMAKE_BUILD_TYPE=Release \
+ "-DCMAKE_INSTALL_PREFIX=/usr/local/lib64/llvm-$llvm_version" \
+ ..
+ninja
+DESTDIR=/root/iwyu-destdir ninja install
+tar -C /root/iwyu-destdir -cf /root/iwyu.tar .
diff --git a/.gitlab/ci/docker/fedora36/install_rvm.sh b/.gitlab/ci/docker/fedora37/install_rvm.sh
index 0011f87..0011f87 100755
--- a/.gitlab/ci/docker/fedora36/install_rvm.sh
+++ b/.gitlab/ci/docker/fedora37/install_rvm.sh
diff --git a/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile b/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile
new file mode 100644
index 0000000..e0af0b9
--- /dev/null
+++ b/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile
@@ -0,0 +1,9 @@
+FROM fedora:36
+MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
+
+# Install build dependencies for packages.
+COPY install_deps.sh /root/install_deps.sh
+RUN sh /root/install_deps.sh
+
+COPY install_gcc.sh /root/install_gcc.sh
+RUN sh /root/install_gcc.sh
diff --git a/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh b/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh
new file mode 100755
index 0000000..b8b706b
--- /dev/null
+++ b/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+dnf install -y --setopt=install_weak_deps=False \
+ gcc-c++ mpfr-devel libmpc-devel isl-devel flex bison file findutils diffutils git-core
+dnf clean all
diff --git a/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh b/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh
new file mode 100755
index 0000000..20ea35f
--- /dev/null
+++ b/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+set -e
+
+readonly revision="p1689r5-cmake-ci-20220614" # 3075e510e3d29583f8886b95aff044c0474c84a5
+readonly tarball="https://github.com/mathstuf/gcc/archive/$revision.tar.gz"
+
+readonly workdir="$HOME/gcc"
+readonly srcdir="$workdir/gcc"
+readonly builddir="$workdir/build"
+readonly njobs="$( nproc )"
+
+mkdir -p "$workdir"
+cd "$workdir"
+curl -L "$tarball" > "gcc-$revision.tar.gz"
+tar xf "gcc-$revision.tar.gz"
+mv "gcc-$revision" "$srcdir"
+mkdir -p "$builddir"
+cd "$builddir"
+"$srcdir/configure" \
+ --disable-multilib \
+ --enable-languages=c,c++ \
+ --prefix="/opt/gcc-p1689"
+make "-j$njobs"
+make "-j$njobs" install-strip
+rm -rf "$workdir"
diff --git a/.gitlab/ci/docker/nvhpc22.11/Dockerfile b/.gitlab/ci/docker/nvhpc22.11/Dockerfile
new file mode 100644
index 0000000..52f4f8e
--- /dev/null
+++ b/.gitlab/ci/docker/nvhpc22.11/Dockerfile
@@ -0,0 +1,6 @@
+# https://catalog.ngc.nvidia.com/orgs/nvidia/containers/nvhpc/tags
+FROM nvcr.io/nvidia/nvhpc:22.11-devel-cuda_multi-ubuntu22.04
+MAINTAINER Brad King <brad.king@kitware.com>
+
+COPY install_deps.sh /root/install_deps.sh
+RUN sh /root/install_deps.sh
diff --git a/.gitlab/ci/docker/nvhpc22.11/install_deps.sh b/.gitlab/ci/docker/nvhpc22.11/install_deps.sh
new file mode 100755
index 0000000..51ee410
--- /dev/null
+++ b/.gitlab/ci/docker/nvhpc22.11/install_deps.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+apt-get update
+
+# Install development tools.
+apt-get install -y \
+ curl
+
+apt-get clean
diff --git a/.gitlab/ci/env.ps1 b/.gitlab/ci/env.ps1
index e24bc37..72a8cb8 100755
--- a/.gitlab/ci/env.ps1
+++ b/.gitlab/ci/env.ps1
@@ -1,3 +1,4 @@
+$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().MainModule.FileName
if (Test-Path -Path ".gitlab/ci/env_$env:CMAKE_CONFIGURATION.ps1" -PathType Leaf) {
- Invoke-Expression ".gitlab/ci/env_$env:CMAKE_CONFIGURATION.ps1"
+ . ".gitlab/ci/env_$env:CMAKE_CONFIGURATION.ps1"
}
diff --git a/.gitlab/ci/env_debian10_aarch64_extdeps.sh b/.gitlab/ci/env_debian10_aarch64_extdeps.sh
new file mode 100644
index 0000000..7076e18
--- /dev/null
+++ b/.gitlab/ci/env_debian10_aarch64_extdeps.sh
@@ -0,0 +1 @@
+source .gitlab/ci/env_extdeps_common.sh
diff --git a/.gitlab/ci/env_debian10_extdeps.sh b/.gitlab/ci/env_debian10_extdeps.sh
new file mode 100644
index 0000000..7076e18
--- /dev/null
+++ b/.gitlab/ci/env_debian10_extdeps.sh
@@ -0,0 +1 @@
+source .gitlab/ci/env_extdeps_common.sh
diff --git a/.gitlab/ci/env_debian10_ninja.sh b/.gitlab/ci/env_debian10_ninja.sh
index 67d900c..ba8ad47 100644
--- a/.gitlab/ci/env_debian10_ninja.sh
+++ b/.gitlab/ci/env_debian10_ninja.sh
@@ -1,11 +1,11 @@
export MY_RUBY_HOME="/usr/local/rvm/rubies/ruby-2.7.0"
if test -z "$CI_MERGE_REQUEST_ID"; then
- curl -L -O "https://download.swift.org/swift-5.5.3-release/ubuntu1804/swift-5.5.3-RELEASE/swift-5.5.3-RELEASE-ubuntu18.04.tar.gz"
- echo '910634e2d97e14c43ed1f29caeb57fd01d10c2ff88cebb79baee1016b52c7492 swift-5.5.3-RELEASE-ubuntu18.04.tar.gz' > swift.sha256sum
+ curl -L -O "https://download.swift.org/swift-5.7.1-release/ubuntu1804/swift-5.7.1-RELEASE/swift-5.7.1-RELEASE-ubuntu18.04.tar.gz"
+ echo '2b30f9efc969d9e96f0836d0871130dffb369822a3823ee6f3db44c29c1698e3 swift-5.7.1-RELEASE-ubuntu18.04.tar.gz' > swift.sha256sum
sha256sum --check swift.sha256sum
mkdir /opt/swift
- tar xzf swift-5.5.3-RELEASE-ubuntu18.04.tar.gz -C /opt/swift --strip-components=2
- rm swift-5.5.3-RELEASE-ubuntu18.04.tar.gz swift.sha256sum
+ tar xzf swift-5.7.1-RELEASE-ubuntu18.04.tar.gz -C /opt/swift --strip-components=2
+ rm swift-5.7.1-RELEASE-ubuntu18.04.tar.gz swift.sha256sum
export SWIFTC="/opt/swift/bin/swiftc"
fi
diff --git a/.gitlab/ci/env_extdeps_common.sh b/.gitlab/ci/env_extdeps_common.sh
new file mode 100644
index 0000000..8cabc05
--- /dev/null
+++ b/.gitlab/ci/env_extdeps_common.sh
@@ -0,0 +1,5 @@
+.gitlab/ci/extdeps-linux.sh
+
+export CMAKE_PREFIX_PATH=/opt/extdeps
+export PATH=/opt/extdeps/bin:$PATH
+export LD_LIBRARY_PATH=/opt/extdeps/lib
diff --git a/.gitlab/ci/env_fedora36_asan.sh b/.gitlab/ci/env_fedora37_asan.sh
index e976486..e976486 100644
--- a/.gitlab/ci/env_fedora36_asan.sh
+++ b/.gitlab/ci/env_fedora37_asan.sh
diff --git a/.gitlab/ci/env_fedora36_clang_analyzer.sh b/.gitlab/ci/env_fedora37_clang_analyzer.sh
index d732c0b..d732c0b 100644
--- a/.gitlab/ci/env_fedora36_clang_analyzer.sh
+++ b/.gitlab/ci/env_fedora37_clang_analyzer.sh
diff --git a/.gitlab/ci/env_fedora37_common_clang.sh b/.gitlab/ci/env_fedora37_common_clang.sh
new file mode 100644
index 0000000..b03b757
--- /dev/null
+++ b/.gitlab/ci/env_fedora37_common_clang.sh
@@ -0,0 +1,4 @@
+export CC=/usr/bin/clang-15
+export CXX=/usr/bin/clang++-15
+export FC=/usr/bin/flang-new
+export FFLAGS=-flang-experimental-exec
diff --git a/.gitlab/ci/env_fedora37_extdeps.sh b/.gitlab/ci/env_fedora37_extdeps.sh
new file mode 100644
index 0000000..7076e18
--- /dev/null
+++ b/.gitlab/ci/env_fedora37_extdeps.sh
@@ -0,0 +1 @@
+source .gitlab/ci/env_extdeps_common.sh
diff --git a/.gitlab/ci/env_fedora36_makefiles.cmake b/.gitlab/ci/env_fedora37_makefiles.cmake
index 2bcb6d0..2bcb6d0 100644
--- a/.gitlab/ci/env_fedora36_makefiles.cmake
+++ b/.gitlab/ci/env_fedora37_makefiles.cmake
diff --git a/.gitlab/ci/env_fedora36_ninja_multi.sh b/.gitlab/ci/env_fedora37_makefiles.sh
index 217ff30..217ff30 100644
--- a/.gitlab/ci/env_fedora36_ninja_multi.sh
+++ b/.gitlab/ci/env_fedora37_makefiles.sh
diff --git a/.gitlab/ci/env_fedora37_makefiles_clang.sh b/.gitlab/ci/env_fedora37_makefiles_clang.sh
new file mode 100644
index 0000000..9ff1d84
--- /dev/null
+++ b/.gitlab/ci/env_fedora37_makefiles_clang.sh
@@ -0,0 +1 @@
+. .gitlab/ci/env_fedora37_common_clang.sh
diff --git a/.gitlab/ci/env_fedora36_ninja.sh b/.gitlab/ci/env_fedora37_ninja.sh
index 217ff30..217ff30 100644
--- a/.gitlab/ci/env_fedora36_ninja.sh
+++ b/.gitlab/ci/env_fedora37_ninja.sh
diff --git a/.gitlab/ci/env_fedora37_ninja_clang.sh b/.gitlab/ci/env_fedora37_ninja_clang.sh
new file mode 100644
index 0000000..9ff1d84
--- /dev/null
+++ b/.gitlab/ci/env_fedora37_ninja_clang.sh
@@ -0,0 +1 @@
+. .gitlab/ci/env_fedora37_common_clang.sh
diff --git a/.gitlab/ci/env_fedora36_makefiles.sh b/.gitlab/ci/env_fedora37_ninja_multi.sh
index 217ff30..217ff30 100644
--- a/.gitlab/ci/env_fedora36_makefiles.sh
+++ b/.gitlab/ci/env_fedora37_ninja_multi.sh
diff --git a/.gitlab/ci/env_macos_arm64_ninja.sh b/.gitlab/ci/env_macos_arm64_ninja.sh
new file mode 100644
index 0000000..f8d459b
--- /dev/null
+++ b/.gitlab/ci/env_macos_arm64_ninja.sh
@@ -0,0 +1 @@
+. .gitlab/ci/openmp-env.sh
diff --git a/.gitlab/ci/env_macos_x86_64_makefiles.sh b/.gitlab/ci/env_macos_x86_64_makefiles.sh
index 217ff30..7496372 100644
--- a/.gitlab/ci/env_macos_x86_64_makefiles.sh
+++ b/.gitlab/ci/env_macos_x86_64_makefiles.sh
@@ -1,3 +1,4 @@
+. .gitlab/ci/openmp-env.sh
if test "$CMAKE_CI_NIGHTLY" = "true"; then
source .gitlab/ci/ispc-env.sh
fi
diff --git a/.gitlab/ci/env_macos_x86_64_ninja.sh b/.gitlab/ci/env_macos_x86_64_ninja.sh
index 217ff30..7496372 100644
--- a/.gitlab/ci/env_macos_x86_64_ninja.sh
+++ b/.gitlab/ci/env_macos_x86_64_ninja.sh
@@ -1,3 +1,4 @@
+. .gitlab/ci/openmp-env.sh
if test "$CMAKE_CI_NIGHTLY" = "true"; then
source .gitlab/ci/ispc-env.sh
fi
diff --git a/.gitlab/ci/env_mingw_osdn_io_mingw_makefiles.ps1 b/.gitlab/ci/env_mingw_osdn_io_mingw_makefiles.ps1
new file mode 100755
index 0000000..e2d573e
--- /dev/null
+++ b/.gitlab/ci/env_mingw_osdn_io_mingw_makefiles.ps1
@@ -0,0 +1,3 @@
+$pwdpath = $pwd.Path
+& "$pwsh" -File ".gitlab/ci/mingw.ps1"
+Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\mingw\bin;$env:PATH"
diff --git a/.gitlab/ci/env_mingw_osdn_io_msys_makefiles.ps1 b/.gitlab/ci/env_mingw_osdn_io_msys_makefiles.ps1
new file mode 100755
index 0000000..6eccb72
--- /dev/null
+++ b/.gitlab/ci/env_mingw_osdn_io_msys_makefiles.ps1
@@ -0,0 +1,5 @@
+$pwdpath = $pwd.Path
+& "$pwsh" -File ".gitlab/ci/mingw.ps1"
+Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\mingw\msys\1.0\bin;$pwdpath\.gitlab\mingw\bin;$env:PATH"
+$env:MSYSTEM = 'MINGW32'
+$env:MAKE_MODE = 'unix'
diff --git a/.gitlab/ci/env_nvhpc_ninja.sh b/.gitlab/ci/env_nvhpc_ninja.sh
new file mode 100644
index 0000000..687403d
--- /dev/null
+++ b/.gitlab/ci/env_nvhpc_ninja.sh
@@ -0,0 +1,5 @@
+export CC=nvc
+export CXX=nvc++
+export FC=nvfortran
+export CUDACXX=nvcc
+export CUDAHOSTCXX=nvc++
diff --git a/.gitlab/ci/env_windows_clang_common.cmake b/.gitlab/ci/env_windows_clang_common.cmake
deleted file mode 100644
index fdd668f..0000000
--- a/.gitlab/ci/env_windows_clang_common.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-if("$ENV{CMAKE_CI_BUILD_NAME}" MATCHES "(^|_)gnu(_|$)")
- set(ENV{CC} clang)
- set(ENV{CXX} clang++)
-else()
- set(ENV{CC} clang-cl)
- set(ENV{CXX} clang-cl)
-endif()
diff --git a/.gitlab/ci/env_windows_clang_ninja.cmake b/.gitlab/ci/env_windows_clang_ninja.cmake
deleted file mode 100644
index f3834a2..0000000
--- a/.gitlab/ci/env_windows_clang_ninja.cmake
+++ /dev/null
@@ -1 +0,0 @@
-include("${CMAKE_CURRENT_LIST_DIR}/env_windows_clang_common.cmake")
diff --git a/.gitlab/ci/env_windows_clang_ninja.ps1 b/.gitlab/ci/env_windows_clang_ninja.ps1
new file mode 100755
index 0000000..17002ef
--- /dev/null
+++ b/.gitlab/ci/env_windows_clang_ninja.ps1
@@ -0,0 +1,2 @@
+. .gitlab/ci/ninja-env.ps1
+. .gitlab/ci/clang-env.ps1
diff --git a/.gitlab/ci/env_windows_clang_nmake.cmake b/.gitlab/ci/env_windows_clang_nmake.cmake
deleted file mode 100644
index f3834a2..0000000
--- a/.gitlab/ci/env_windows_clang_nmake.cmake
+++ /dev/null
@@ -1 +0,0 @@
-include("${CMAKE_CURRENT_LIST_DIR}/env_windows_clang_common.cmake")
diff --git a/.gitlab/ci/env_windows_clang_nmake.ps1 b/.gitlab/ci/env_windows_clang_nmake.ps1
new file mode 100755
index 0000000..89fa360
--- /dev/null
+++ b/.gitlab/ci/env_windows_clang_nmake.ps1
@@ -0,0 +1 @@
+. .gitlab/ci/clang-env.ps1
diff --git a/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1 b/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1
index f8a86c4..a96658d 100755
--- a/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1
+++ b/.gitlab/ci/env_windows_vs2022_x64_ninja.ps1
@@ -1,3 +1,3 @@
if ("$env:CMAKE_CI_NIGHTLY" -eq "true") {
- Invoke-Expression ".gitlab/ci/ispc-env.ps1"
+ . ".gitlab/ci/ispc-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 e8d242c..44bb090 100755
--- a/.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps1
+++ b/.gitlab/ci/env_windows_vs2022_x64_ninja_multi.ps1
@@ -1,10 +1,7 @@
if ("$env:CMAKE_CI_NIGHTLY" -eq "true") {
- Invoke-Expression -Command ".gitlab/ci/ispc-env.ps1"
+ . ".gitlab/ci/ispc-env.ps1"
}
-$pwdpath = $pwd.Path
-powershell -File ".gitlab/ci/ninja.ps1"
-Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
-ninja --version
+. .gitlab/ci/ninja-env.ps1
Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
diff --git a/.gitlab/ci/extdeps-linux.sh b/.gitlab/ci/extdeps-linux.sh
new file mode 100755
index 0000000..f0d4c0d
--- /dev/null
+++ b/.gitlab/ci/extdeps-linux.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+set -e
+
+mkdir -p /opt/extdeps/src
+cd /opt/extdeps/src
+export PATH=/opt/extdeps/bin:$PATH
+
+#----------------------------------------------------------------------------
+# cmake
+
+case "$(uname -s)-$(uname -m)" in
+ Linux-x86_64)
+ cmake_version="3.13.5"
+ cmake_sha256sum="e2fd0080a6f0fc1ec84647acdcd8e0b4019770f48d83509e6a5b0b6ea27e5864"
+ cmake_platform="Linux-x86_64"
+ ;;
+ Linux-aarch64)
+ cmake_version="3.19.8"
+ cmake_sha256sum="807f5afb2a560e00af9640e496d5673afefc2888bf0ed076412884a5ebb547a1"
+ cmake_platform="Linux-aarch64"
+ ;;
+ *)
+ echo "Unrecognized platform $(uname -s)-$(uname -m)"
+ exit 1
+ ;;
+esac
+readonly shatool
+readonly cmake_sha256sum
+readonly cmake_platform
+
+readonly cmake_filename="cmake-$cmake_version-$cmake_platform"
+readonly cmake_tarball="$cmake_filename.tar.gz"
+
+echo "$cmake_sha256sum $cmake_tarball" > cmake.sha256sum
+curl -OL "https://github.com/Kitware/CMake/releases/download/v$cmake_version/$cmake_tarball"
+sha256sum --check cmake.sha256sum
+tar xzf "$cmake_tarball" -C /opt/extdeps --strip-components=1
+rm -f "$cmake_tarball" cmake.sha256sum
+
+#----------------------------------------------------------------------------
+# libuv
+
+curl -L -o libuv-1.28.0.tar.gz https://github.com/libuv/libuv/archive/refs/tags/v1.28.0.tar.gz
+tar xzf libuv-1.28.0.tar.gz
+cmake -S libuv-1.28.0 -B libuv-1.28.0-build \
+ -DCMAKE_INSTALL_PREFIX=/opt/extdeps
+cmake --build libuv-1.28.0-build --target install
+rm -rf libuv-1.28.0*
+
+#----------------------------------------------------------------------------
+# jsoncpp
+
+curl -L -o jsoncpp-1.6.0.tar.gz https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.6.0.tar.gz
+tar xzf jsoncpp-1.6.0.tar.gz
+cmake -S jsoncpp-1.6.0 -B jsoncpp-1.6.0-build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DJSONCPP_LIB_BUILD_STATIC=ON \
+ -DJSONCPP_LIB_BUILD_SHARED=ON \
+ -DCMAKE_INSTALL_PREFIX=/opt/extdeps
+cmake --build jsoncpp-1.6.0-build --target install
+rm -rf jsoncpp-1.6.0*
diff --git a/.gitlab/ci/ispc-env.ps1 b/.gitlab/ci/ispc-env.ps1
index 1baea31..816c485 100755
--- a/.gitlab/ci/ispc-env.ps1
+++ b/.gitlab/ci/ispc-env.ps1
@@ -1,4 +1,4 @@
$pwdpath = $pwd.Path
-powershell -File ".gitlab/ci/ispc.ps1"
+& "$pwsh" -File ".gitlab/ci/ispc.ps1"
Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\ispc\bin;$env:PATH"
ispc --version
diff --git a/.gitlab/ci/mingw.ps1 b/.gitlab/ci/mingw.ps1
new file mode 100755
index 0000000..a1b5b11
--- /dev/null
+++ b/.gitlab/ci/mingw.ps1
@@ -0,0 +1,25 @@
+$erroractionpreference = "stop"
+
+if ("$env:CMAKE_CONFIGURATION".Contains("mingw_osdn_io")) {
+ $filename = "mingw.osdn.io-2022-10-03"
+ $sha256sum = "4DCB8C351D8D855F7D3DFC2863A235042BF3DB6E69EA0BAE51FF9378189345CD"
+} else {
+ throw ('unknown CMAKE_CONFIGURATION: ' + "$env:CMAKE_CONFIGURATION")
+}
+$tarball = "$filename.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
+}
+
+Add-Type -AssemblyName System.IO.Compression.FileSystem
+[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
+Move-Item -Path "$outdir\$filename" -Destination "$outdir\mingw"
+Remove-Item "$outdir\$tarball"
+
+"$outdir/mingw /mingw" -replace '\\', '/' | Out-File -FilePath "$outdir\mingw\msys\1.0\etc\fstab" -Encoding ASCII
diff --git a/.gitlab/ci/ninja-env.ps1 b/.gitlab/ci/ninja-env.ps1
new file mode 100755
index 0000000..67c7036
--- /dev/null
+++ b/.gitlab/ci/ninja-env.ps1
@@ -0,0 +1,4 @@
+$pwdpath = $pwd.Path
+& "$pwsh" -File ".gitlab/ci/ninja.ps1"
+Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
+Write-Host "ninja version: $(ninja --version)"
diff --git a/.gitlab/ci/openmp-env.sh b/.gitlab/ci/openmp-env.sh
new file mode 100644
index 0000000..82dac5b
--- /dev/null
+++ b/.gitlab/ci/openmp-env.sh
@@ -0,0 +1,3 @@
+.gitlab/ci/openmp.sh
+export CMAKE_PREFIX_PATH=$PWD/.gitlab/openmp${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
+export DYLD_LIBRARY_PATH=$PWD/.gitlab/openmp/lib${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH}
diff --git a/.gitlab/ci/openmp.sh b/.gitlab/ci/openmp.sh
new file mode 100755
index 0000000..f411338
--- /dev/null
+++ b/.gitlab/ci/openmp.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -e
+
+baseurl="https://cmake.org/files/dependencies/openmp"
+
+case "$(uname -s)-$(uname -m)" in
+ Darwin-*)
+ shatool="shasum -a 256"
+ sha256sum="6eef660db7a085a04f87e4aac79da9f37d26ff0fb17c8781d3a21bd5244997e9"
+ filename="openmp-12.0.1-darwin20-Release"
+ # tarball contains usr/local/
+ strip_components=--strip-components=2
+ ;;
+ *)
+ echo "Unrecognized platform $(uname -s)-$(uname -m)"
+ exit 1
+ ;;
+esac
+readonly shatool
+readonly sha256sum
+
+readonly tarball="$filename.tar.gz"
+
+cd .gitlab
+mkdir -p openmp
+
+echo "$sha256sum $tarball" > openmp.sha256sum
+curl -OL "$baseurl/$tarball"
+$shatool --check openmp.sha256sum
+tar -C openmp $strip_components -xzf $tarball
+rm $tarball openmp.sha256sum
diff --git a/.gitlab/ci/post_build.sh b/.gitlab/ci/post_build.sh
new file mode 100755
index 0000000..0edd9f6
--- /dev/null
+++ b/.gitlab/ci/post_build.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+set -e
+
+quietly() {
+ readonly log="/tmp/quietly-$RANDOM.log"
+ if ! "$@" >"$log" 2>&1; then
+ ret=$?
+ cat "$log"
+ rm -f "$log"
+ exit $ret
+ fi
+ rm -f "$log"
+}
+
+if test -r ".gitlab/ci/post_build_${CMAKE_CONFIGURATION}.sh"; then
+ source ".gitlab/ci/post_build_${CMAKE_CONFIGURATION}.sh"
+fi
diff --git a/.gitlab/ci/pre_build.sh b/.gitlab/ci/pre_build.sh
new file mode 100755
index 0000000..7ff6a69
--- /dev/null
+++ b/.gitlab/ci/pre_build.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+set -e
+
+quietly() {
+ readonly log="/tmp/quietly-$RANDOM.log"
+ if ! "$@" >"$log" 2>&1; then
+ ret=$?
+ cat "$log"
+ rm -f "$log"
+ exit $ret
+ fi
+ rm -f "$log"
+}
+
+if test -r ".gitlab/ci/pre_build_${CMAKE_CONFIGURATION}.sh"; then
+ source ".gitlab/ci/pre_build_${CMAKE_CONFIGURATION}.sh"
+fi
diff --git a/.gitlab/ci/pre_build_fedora37_tidy.sh b/.gitlab/ci/pre_build_fedora37_tidy.sh
new file mode 100644
index 0000000..7580ef1
--- /dev/null
+++ b/.gitlab/ci/pre_build_fedora37_tidy.sh
@@ -0,0 +1,9 @@
+cmake \
+ -G Ninja \
+ -S Utilities/ClangTidyModule \
+ -B Utilities/ClangTidyModule/build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DRUN_TESTS=ON \
+ -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
+cmake --build Utilities/ClangTidyModule/build
+ctest --test-dir Utilities/ClangTidyModule/build --output-on-failure
diff --git a/.gitlab/ci/python-env.ps1 b/.gitlab/ci/python-env.ps1
new file mode 100755
index 0000000..4e897d8
--- /dev/null
+++ b/.gitlab/ci/python-env.ps1
@@ -0,0 +1,4 @@
+$pwdpath = $pwd.Path
+cmake -P .gitlab/ci/download_python3.cmake
+Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\python3;$env:PATH"
+python --version
diff --git a/.gitlab/ci/qt-env.ps1 b/.gitlab/ci/qt-env.ps1
new file mode 100755
index 0000000..7eff55f
--- /dev/null
+++ b/.gitlab/ci/qt-env.ps1
@@ -0,0 +1,10 @@
+if ("$env:PROCESSOR_ARCHITECTURE" -eq "AMD64") {
+ $pwdpath = $pwd.Path
+ cmake -P .gitlab/ci/download_qt.cmake
+ Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\qt\bin;$env:PATH"
+ qmake -v
+} elseif ("$env:PROCESSOR_ARCHITECTURE" -eq "ARM64") {
+ # Qt host tools are not yet available natively on windows-arm64.
+} else {
+ throw ('unknown PROCESSOR_ARCHITECTURE: ' + "$env:PROCESSOR_ARCHITECTURE")
+}
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml
index 12fbc1e..0b8aad9 100644
--- a/.gitlab/os-linux.yml
+++ b/.gitlab/os-linux.yml
@@ -5,7 +5,7 @@
### Release
.linux_prep_source:
- image: "fedora:36"
+ image: "fedora:37"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -45,7 +45,7 @@
### Debian
.debian10:
- image: "kitware/cmake:ci-debian10-x86_64-2022-06-21"
+ image: "kitware/cmake:ci-debian10-x86_64-2022-08-30"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -60,7 +60,7 @@
CMAKE_CI_NO_INSTALL: 1
.debian10_aarch64:
- image: "kitware/cmake:ci-debian10-aarch64-2022-06-21"
+ image: "kitware/cmake:ci-debian10-aarch64-2022-08-30"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
@@ -68,8 +68,8 @@
### Fedora
-.fedora36:
- image: "kitware/cmake:ci-fedora36-x86_64-2022-06-21"
+.fedora37:
+ image: "kitware/cmake:ci-fedora37-x86_64-2022-11-16"
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes"
@@ -77,37 +77,37 @@
#### Lint builds
-.fedora36_tidy:
- extends: .fedora36
+.fedora37_tidy:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_tidy
+ CMAKE_CONFIGURATION: fedora37_tidy
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_CI_NO_INSTALL: 1
-.fedora36_clang_analyzer:
- extends: .fedora36
+.fedora37_clang_analyzer:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_clang_analyzer
+ CMAKE_CONFIGURATION: fedora37_clang_analyzer
CMAKE_CI_BUILD_TYPE: Debug
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_CI_NO_INSTALL: 1
-.fedora36_sphinx:
- extends: .fedora36
+.fedora37_sphinx:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_sphinx
+ CMAKE_CONFIGURATION: fedora37_sphinx
CTEST_NO_WARNINGS_ALLOWED: 1
CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
CMAKE_CI_NO_INSTALL: 1
-.fedora36_sphinx_package:
- extends: .fedora36
+.fedora37_sphinx_package:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_sphinx_package
+ CMAKE_CONFIGURATION: fedora37_sphinx_package
CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
#### Build and test
@@ -137,27 +137,51 @@
CMAKE_CI_NO_INSTALL: 1
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora36_ninja:
- extends: .fedora36
+.debian10_extdeps:
+ extends: .debian10
+
+ variables:
+ CMAKE_CONFIGURATION: debian10_extdeps
+ CMAKE_CI_BUILD_TYPE: Release
+ CTEST_NO_WARNINGS_ALLOWED: 1
+
+.debian10_aarch64_extdeps:
+ extends: .debian10_aarch64
+
+ variables:
+ CMAKE_CONFIGURATION: debian10_aarch64_extdeps
+ CMAKE_CI_BUILD_TYPE: Release
+ CTEST_NO_WARNINGS_ALLOWED: 1
+
+.fedora37_extdeps:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_ninja
+ CMAKE_CONFIGURATION: fedora37_extdeps
CMAKE_CI_BUILD_TYPE: Release
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora36_ninja_multi:
- extends: .fedora36
+.fedora37_ninja:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_ninja_multi
+ CMAKE_CONFIGURATION: fedora37_ninja
+ CMAKE_CI_BUILD_TYPE: Release
+ CTEST_NO_WARNINGS_ALLOWED: 1
+
+.fedora37_ninja_multi:
+ extends: .fedora37
+
+ variables:
+ CMAKE_CONFIGURATION: fedora37_ninja_multi
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Ninja Multi-Config"
-.fedora36_makefiles:
- extends: .fedora36
+.fedora37_makefiles:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_makefiles
+ CMAKE_CONFIGURATION: fedora37_makefiles
CTEST_NO_WARNINGS_ALLOWED: 1
CMAKE_GENERATOR: "Unix Makefiles"
@@ -176,6 +200,19 @@
variables:
CMAKE_CONFIGURATION: debian10_ninja_clang
+.fedora37_makefiles_clang:
+ extends: .fedora37
+
+ variables:
+ CMAKE_CONFIGURATION: fedora37_makefiles_clang
+ CMAKE_GENERATOR: "Unix Makefiles"
+
+.fedora37_ninja_clang:
+ extends: .fedora37
+
+ variables:
+ CMAKE_CONFIGURATION: fedora37_ninja_clang
+
### Sanitizers
.fedora_memcheck:
@@ -189,13 +226,13 @@
CTEST_MEMORYCHECK_TYPE: AddressSanitizer
CTEST_MEMORYCHECK_SANITIZER_OPTIONS: ""
-.fedora36_asan:
+.fedora37_asan:
extends:
- - .fedora36
+ - .fedora37
- .fedora_asan_addon
variables:
- CMAKE_CONFIGURATION: fedora36_asan
+ CMAKE_CONFIGURATION: fedora37_asan
### Intel Compiler
@@ -218,70 +255,86 @@
CMAKE_CONFIGURATION: inteloneapi_makefiles
CMAKE_GENERATOR: "Unix Makefiles"
-### CUDA builds
+### NVHPC Compiler
-.cuda9.2:
- image: "kitware/cmake:ci-cuda9.2-x86_64-2021-10-01"
+.nvhpc:
+ image: "kitware/cmake:ci-nvhpc22.11-x86_64-2022-12-06"
+ variables:
+ CMAKE_ARCH: x86_64
+
+.nvhpc_ninja:
+ extends: .nvhpc
+ variables:
+ CMAKE_CONFIGURATION: nvhpc_ninja
+
+### CUDA builds
+.cuda:
variables:
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
- CMAKE_ARCH: x86_64
CTEST_LABELS: "CUDA"
CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1
+.cuda9.2:
+ extends: .cuda
+ image: "kitware/cmake:ci-cuda9.2-x86_64-2021-10-01"
+ variables:
+ CMAKE_ARCH: x86_64
+
.cuda9.2_nvidia:
extends: .cuda9.2
-
variables:
CMAKE_CONFIGURATION: cuda9.2_nvidia
CMAKE_GENERATOR: "Ninja Multi-Config"
.cuda10.2:
+ extends: .cuda
image: "kitware/cmake:ci-cuda10.2-x86_64-2021-06-16"
-
variables:
- GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
CMAKE_ARCH: x86_64
- CTEST_LABELS: "CUDA"
- CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1
.cuda10.2_nvidia:
extends: .cuda10.2
-
variables:
CMAKE_CONFIGURATION: cuda10.2_nvidia
CTEST_NO_WARNINGS_ALLOWED: 1
.cuda10.2_clang:
extends: .cuda10.2
-
variables:
CMAKE_CONFIGURATION: cuda10.2_clang
CTEST_NO_WARNINGS_ALLOWED: 1
.cuda11.6:
+ extends: .cuda
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"
- CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1
.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
+.cuda11.8_minimal:
+ extends: .cuda
+ image: "kitware/cmake:ci-cuda11.8-minimal-x86_64-2022-12-06"
+ variables:
+ CMAKE_ARCH: x86_64
+
+.cuda11.8_minimal_nvidia:
+ extends: .cuda11.8_minimal
+ variables:
+ CMAKE_CONFIGURATION: cuda11.8_minimal_nvidia
+ CTEST_NO_WARNINGS_ALLOWED: 1
+
### HIP builds
.hip4.2:
@@ -299,59 +352,95 @@
CMAKE_CONFIGURATION: hip4.2_radeon
CMAKE_GENERATOR: "Ninja Multi-Config"
-## Tags
+### C++ modules
-.linux_builder_tags:
- tags:
- - cmake
- - build
- - docker
- - linux
+.gcc_cxx_modules_x86_64:
+ image: "kitware/cmake:ci-gcc_cxx_modules-x86_64-2022-06-21"
+
+ variables:
+ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
+ CMAKE_ARCH: x86_64
+ CC: "/opt/gcc-p1689/bin/gcc"
+ CXX: "/opt/gcc-p1689/bin/g++"
+
+.gcc_cxx_modules_ninja:
+ extends: .gcc_cxx_modules_x86_64
+
+ variables:
+ CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja
-.linux_builder_tags_qt:
+.gcc_cxx_modules_ninja_multi:
+ extends: .gcc_cxx_modules_x86_64
+
+ variables:
+ CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja_multi
+ CMAKE_GENERATOR: "Ninja Multi-Config"
+
+.clang_cxx_modules_x86_64:
+ image: "kitware/cmake:ci-clang_cxx_modules-x86_64-2022-12-02"
+
+ variables:
+ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
+ CMAKE_ARCH: x86_64
+ CC: "/opt/llvm-p1689/bin/clang"
+ CXX: "/opt/llvm-p1689/bin/clang++"
+
+.clang_cxx_modules_ninja:
+ extends: .clang_cxx_modules_x86_64
+
+ variables:
+ CMAKE_CONFIGURATION: linux_clang_cxx_modules_ninja
+
+.clang_cxx_modules_ninja_multi:
+ extends: .clang_cxx_modules_x86_64
+
+ variables:
+ CMAKE_CONFIGURATION: linux_clang_cxx_modules_ninja_multi
+ CMAKE_GENERATOR: "Ninja Multi-Config"
+
+## Tags
+
+.linux_x86_64_tags:
tags:
- cmake
- build
- docker
- - linux
- - linux-3.17 # Needed to be able to load Fedora's Qt libraries.
+ - linux-x86_64
-.linux_builder_tags_x11:
+.linux_x86_64_tags_x11:
tags:
- cmake
- docker
- - linux
- - linux-3.17 # Needed to be able to load Fedora's Qt libraries.
+ - linux-x86_64
- x11
-.linux_builder_tags_cuda:
+.linux_x86_64_tags_cuda:
tags:
- cmake
- cuda-rt
- docker
- - linux
+ - linux-x86_64
-.linux_builder_tags_radeon:
+.linux_x86_64_v3_tags_cuda:
tags:
- cmake
- - radeon
+ - cuda-rt
- docker
- - linux
+ - linux-x86_64-v3
-.linux_builder_tags_aarch64:
+.linux_x86_64_tags_radeon:
tags:
- cmake
- - build
+ - radeon
- docker
- - linux-aarch64
+ - linux-x86_64
-.linux_builder_tags_aarch64_qt:
+.linux_aarch64_tags:
tags:
- cmake
- build
- docker
- linux-aarch64
- - linux-3.17 # Needed to be able to load Fedora's Qt libraries.
## Linux-specific scripts
@@ -389,9 +478,9 @@
.cmake_codespell_linux:
stage: build
- extends: .fedora36
+ extends: .fedora37
script:
- - codespell
+ - .gitlab/ci/codespell.sh
interruptible: true
.cmake_build_linux:
@@ -402,8 +491,10 @@
- .gitlab/ci/sccache.sh
- sccache --start-server
- sccache --show-stats
+ - .gitlab/ci/pre_build.sh
- "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
- "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
+ - .gitlab/ci/post_build.sh
- sccache --show-stats
interruptible: true
@@ -457,7 +548,7 @@
# use the scripts here.
- "$LAUNCHER make -j$(nproc)"
# NOTE: This regex matches that used in the release build.
- - "$LAUNCHER bin/ctest --output-on-failure -j$(nproc) -R '^(CMake\\.|CMakeLib\\.|CMakeServerLib\\.|RunCMake\\.ctest_memcheck)'"
+ - "$LAUNCHER bin/ctest --output-on-failure -j$(nproc) -R '^(CMake\\.|CMakeLib\\.|RunCMake\\.ctest_memcheck)'"
# Make a package.
- bin/cpack -G TGZ
- bin/cpack -G STGZ
@@ -511,7 +602,7 @@
extends:
- .intelclassic_makefiles
- .cmake_test_linux_release
- - .linux_builder_tags_qt
+ - .linux_x86_64_tags
- .run_manually
- .needs_centos6_x86_64
variables:
@@ -521,7 +612,7 @@
extends:
- .inteloneapi_makefiles
- .cmake_test_linux_release
- - .linux_builder_tags_qt
+ - .linux_x86_64_tags
- .run_manually
- .needs_centos6_x86_64
variables:
@@ -532,8 +623,8 @@
.cmake_org_help:
stage: build
extends:
- - .fedora36
- - .linux_builder_tags
+ - .fedora37
+ - .linux_x86_64_tags
- .cmake_org_help_artifacts
script:
- *before_script_linux
diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml
index 9971e4e..9cdc8d4 100644
--- a/.gitlab/os-macos.yml
+++ b/.gitlab/os-macos.yml
@@ -90,32 +90,32 @@
## Tags
-.macos_x86_64_builder_tags:
+.macos_x86_64_tags:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - macos
+ - macos-x86_64
- shell
- xcode-14.2
- nonconcurrent
-.macos_x86_64_builder_tags_package:
+.macos_x86_64_tags_package:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - macos
+ - macos-x86_64
- shell
- xcode-14.2
- nonconcurrent
- finder
-.macos_x86_64_builder_ext_tags:
+.macos_x86_64_tags_ext:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - macos
+ - macos-x86_64
- shell
- xcode-14.2
- concurrent
-.macos_arm64_builder_tags:
+.macos_arm64_tags:
tags:
- cmake # Since this is a bare runner, pin to a project.
- macos-arm64
@@ -123,7 +123,7 @@
- xcode-14.2
- nonconcurrent
-.macos_arm64_builder_ext_tags:
+.macos_arm64_tags_ext:
tags:
- cmake # Since this is a bare runner, pin to a project.
- macos-arm64
@@ -143,7 +143,7 @@
- ninja --version
# Download Qt
- cmake -P .gitlab/ci/download_qt.cmake
- - export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt
+ - export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt${CMAKE_PREFIX_PATH:+:$CMAKE_PREFIX_PATH}
.cmake_build_macos:
stage: build
diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml
index 282cf1e..22d731a 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -35,31 +35,25 @@
variables:
VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
VCVARSPLATFORM: "x64"
- VCVARSVERSION: "14.33.31629"
+ VCVARSVERSION: "14.34.31933"
.windows_vcvarsall_vs2022_x86:
variables:
VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
VCVARSPLATFORM: "x86"
- VCVARSVERSION: "14.33.31629"
+ VCVARSVERSION: "14.34.31933"
-.windows_vcvarsall_vs2022_x64_package:
+.windows_vcvarsall_vs2022_x64_arm64:
variables:
VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
- VCVARSPLATFORM: "x64"
- VCVARSVERSION: "14.32.31326"
-
-.windows_vcvarsall_vs2022_x86_package:
- variables:
- VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
- VCVARSPLATFORM: "x86"
- VCVARSVERSION: "14.32.31326"
+ VCVARSPLATFORM: "x64_arm64"
+ VCVARSVERSION: "14.34.31933"
-.windows_vcvarsall_vs2022_x64_arm64_package:
+.windows_arm64_vcvarsall_vs2022:
variables:
VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
- VCVARSPLATFORM: "x64_arm64"
- VCVARSVERSION: "14.32.31326"
+ VCVARSPLATFORM: "arm64"
+ VCVARSVERSION: "14.34.31933"
.windows_vs2022_x64_ninja:
extends:
@@ -69,6 +63,14 @@
variables:
CMAKE_CONFIGURATION: windows_vs2022_x64_ninja
+.windows_arm64_vs2022_ninja:
+ extends:
+ - .windows_build_ninja
+ - .windows_arm64_vcvarsall_vs2022
+
+ variables:
+ CMAKE_CONFIGURATION: windows_arm64_vs2022_ninja
+
.windows_package:
extends:
- .windows_build_ninja
@@ -80,7 +82,7 @@
.windows_x86_64_package:
extends:
- .windows_package
- - .windows_vcvarsall_vs2022_x64_package
+ - .windows_vcvarsall_vs2022_x64
variables:
CMAKE_CONFIGURATION: windows_x86_64_package
@@ -88,7 +90,7 @@
.windows_i386_package:
extends:
- .windows_package
- - .windows_vcvarsall_vs2022_x86_package
+ - .windows_vcvarsall_vs2022_x86
variables:
CMAKE_CONFIGURATION: windows_i386_package
@@ -96,7 +98,7 @@
.windows_arm64_package:
extends:
- .windows_package
- - .windows_vcvarsall_vs2022_x64_arm64_package
+ - .windows_vcvarsall_vs2022_x64_arm64
variables:
CMAKE_CONFIGURATION: windows_arm64_package
@@ -110,7 +112,7 @@
CMAKE_CONFIGURATION: windows_vs2022_x64
CMAKE_GENERATOR: "Visual Studio 17 2022"
CMAKE_GENERATOR_PLATFORM: "x64"
- CMAKE_GENERATOR_TOOLSET: "v143,version=14.33.31629"
+ CMAKE_GENERATOR_TOOLSET: "v143,version=14.34.31933"
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
.windows_vs2019_x64:
@@ -236,79 +238,116 @@
variables:
CMAKE_CONFIGURATION: windows_openwatcom1.9
+.windows_arm64_vs2022:
+ extends: .windows
+
+ variables:
+ CMAKE_CONFIGURATION: windows_arm64_vs2022
+ CMAKE_GENERATOR: "Visual Studio 17 2022"
+ CMAKE_GENERATOR_PLATFORM: "ARM64"
+ CMAKE_GENERATOR_TOOLSET: "v143,version=14.34.31933"
+ CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
+.mingw_osdn_io:
+ extends: .windows
+
+ variables:
+ # Place MinGW environment in a path without spaces.
+ GIT_CLONE_PATH: "$CI_BUILDS_DIR\\cmake-ci-ext\\$CI_CONCURRENT_ID"
+ CMAKE_CI_BUILD_TYPE: Debug
+ CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
+
+.mingw_osdn_io_mingw_makefiles:
+ extends: .mingw_osdn_io
+
+ variables:
+ CMAKE_CONFIGURATION: mingw_osdn_io_mingw_makefiles
+ CMAKE_GENERATOR: "MinGW Makefiles"
+
+.mingw_osdn_io_msys_makefiles:
+ extends: .mingw_osdn_io
+
+ variables:
+ CMAKE_CONFIGURATION: mingw_osdn_io_msys_makefiles
+ CMAKE_GENERATOR: "MSYS Makefiles"
+
## Tags
-.windows_tags_nonconcurrent_vs2022:
+.windows_x86_64_tags_nonconcurrent_vs2022:
+ tags:
+ - cmake # Since this is a bare runner, pin to a project.
+ - windows-x86_64
+ - shell
+ - vs2022
+ - msvc-19.34
+ - nonconcurrent
+
+.windows_x86_64_tags_nonconcurrent_vs2022_arm64:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - windows
+ - windows-x86_64
- shell
- vs2022
- - msvc-19.33
+ - msvc-19.34-arm64
- nonconcurrent
-.windows_tags_concurrent_vs2022:
+.windows_x86_64_tags_concurrent_vs2022:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - windows
+ - windows-x86_64
- shell
- vs2022
- - msvc-19.33
+ - msvc-19.34
- concurrent
-.windows_tags_concurrent_vs2019:
+.windows_x86_64_tags_concurrent_vs2019:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - windows
+ - windows-x86_64
- shell
- vs2019
- msvc-19.29-16.11
- concurrent
-.windows_tags_concurrent:
+.windows_x86_64_tags_concurrent:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - windows
+ - windows-x86_64
- shell
- concurrent
-.windows_tags_x86_64_package:
+.windows_arm64_tags_nonconcurrent_vs2022:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - windows
+ - windows-arm64
- shell
- vs2022
- - msvc-19.32
+ - msvc-19.34
- nonconcurrent
-.windows_tags_arm64_package:
+.windows_arm64_tags_concurrent_vs2022:
tags:
- cmake # Since this is a bare runner, pin to a project.
- - windows
+ - windows-arm64
- shell
- vs2022
- - msvc-19.32-arm64
- - nonconcurrent
+ - msvc-19.34
+ - concurrent
## Windows-specific scripts
.before_script_windows: &before_script_windows
- - Invoke-Expression -Command .gitlab/ci/env.ps1
+ - . .gitlab/ci/env.ps1
- $pwdpath = $pwd.Path
- - powershell -File ".gitlab/ci/wix.ps1"
+ - (& "$pwsh" -File ".gitlab/ci/wix.ps1")
- Set-Item -Force -Path "env:WIX" -Value "$pwdpath\.gitlab\wix"
- - powershell -File ".gitlab/ci/cmake.ps1"
+ - (& "$pwsh" -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"
+ - . .gitlab/ci/ninja-env.ps1
- (& "$env:WIX\bin\light.exe" -help) | Select -First 1
- cmake --version
- - ninja --version
- - cmake -P .gitlab/ci/download_qt.cmake
- - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\qt\bin;$env:PATH"
- - cmake -P .gitlab/ci/download_python3.cmake
- - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\python3;$env:PATH"
- - python --version
+ - . .gitlab/ci/qt-env.ps1
+ - . .gitlab/ci/python-env.ps1
.cmake_build_windows:
stage: build
@@ -352,7 +391,7 @@
stage: test-ext
script:
- - Invoke-Expression -Command .gitlab/ci/env.ps1
+ - . .gitlab/ci/env.ps1
- build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake
interruptible: true
@@ -361,6 +400,7 @@
stage: test-ext
script:
+ - . .gitlab/ci/env.ps1
- Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
- build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake
@@ -370,6 +410,7 @@
stage: test-ext
script:
+ - . .gitlab/ci/env.ps1
- Invoke-Expression -Command .gitlab/ci/jom.ps1
- $pwdpath = $pwd.Path
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\jom;$env:PATH"
@@ -382,6 +423,7 @@
stage: test-ext
script:
+ - . .gitlab/ci/env.ps1
- Invoke-Expression -Command .gitlab/ci/borland.ps1
- $pwdpath = $pwd.Path
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\bcc\bin;$env:PATH"
@@ -389,24 +431,11 @@
interruptible: true
-.cmake_test_windows_clang:
- stage: test-ext
-
- script:
- - $pwdpath = $pwd.Path
- - powershell -File ".gitlab/ci/ninja.ps1"
- - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
- - Invoke-Expression -Command .gitlab/ci/clang.ps1
- - Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
- - Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\llvm\bin;$env:PATH"
- - build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake
-
- interruptible: true
-
.cmake_test_windows_msvc:
stage: test-ext
script:
+ - . .gitlab/ci/env.ps1
- 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_standalone.cmake
@@ -417,6 +446,7 @@
stage: test-ext
script:
+ - . .gitlab/ci/env.ps1
- 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"
diff --git a/.gitlab/upload.yml b/.gitlab/upload.yml
index 38d40a9..745b078 100644
--- a/.gitlab/upload.yml
+++ b/.gitlab/upload.yml
@@ -1,12 +1,12 @@
# Steps for uploading artifacts
.rsync_upload_package:
- image: "fedora:36"
+ image: "fedora:37"
stage: upload
tags:
- cmake
- docker
- - linux
+ - linux-x86_64
- build
environment:
name: rsync-upload
@@ -21,11 +21,11 @@
.rsync_upload_help:
stage: upload
- image: "fedora:36"
+ image: "fedora:37"
tags:
- cmake
- docker
- - linux
+ - linux-x86_64
- build
environment:
name: rsync-upload