summaryrefslogtreecommitdiffstats
path: root/.gitlab
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/.gitignore2
-rwxr-xr-x.gitlab/ci/cmake.ps114
-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.cmake (renamed from .gitlab/ci/configure_fedora36_extdeps.cmake)0
-rw-r--r--.gitlab/ci/configure_fedora37_makefiles.cmake (renamed from .gitlab/ci/configure_fedora36_makefiles.cmake)0
-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_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_windows_arm64_vs2022.cmake1
-rw-r--r--.gitlab/ci/configure_windows_arm64_vs2022_ninja.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/docker/fedora37/Dockerfile (renamed from .gitlab/ci/docker/fedora36/Dockerfile)8
-rwxr-xr-x.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh (renamed from .gitlab/ci/docker/fedora36/install_clang_tidy_headers.sh)0
-rwxr-xr-x.gitlab/ci/docker/fedora37/install_deps.sh (renamed from .gitlab/ci/docker/fedora36/install_deps.sh)3
-rwxr-xr-x.gitlab/ci/docker/fedora37/install_iwyu.sh (renamed from .gitlab/ci/docker/fedora36/install_iwyu.sh)0
-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/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.sh (renamed from .gitlab/ci/env_fedora36_extdeps.sh)0
-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_fedora37_tidy.sh7
-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
-rwxr-xr-x.gitlab/ci/mingw.ps125
-rw-r--r--.gitlab/ci/openmp-env.sh3
-rwxr-xr-x.gitlab/ci/openmp.sh32
-rwxr-xr-x.gitlab/ci/python-env.ps14
-rwxr-xr-x.gitlab/ci/qt-env.ps110
-rw-r--r--.gitlab/os-linux.yml77
-rw-r--r--.gitlab/os-macos.yml2
-rw-r--r--.gitlab/os-windows.yml72
-rw-r--r--.gitlab/upload.yml4
56 files changed, 274 insertions, 52 deletions
diff --git a/.gitlab/.gitignore b/.gitlab/.gitignore
index d62e477..10d03ca 100644
--- a/.gitlab/.gitignore
+++ b/.gitlab/.gitignore
@@ -5,8 +5,10 @@
/ispc*
/jom
/llvm*
+/mingw
/msvc*
/ninja*
+/openmp
/open-watcom*
/python*
/qt*
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/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_fedora36_extdeps.cmake b/.gitlab/ci/configure_fedora37_extdeps.cmake
index 8e545f5..8e545f5 100644
--- a/.gitlab/ci/configure_fedora36_extdeps.cmake
+++ b/.gitlab/ci/configure_fedora37_extdeps.cmake
diff --git a/.gitlab/ci/configure_fedora36_makefiles.cmake b/.gitlab/ci/configure_fedora37_makefiles.cmake
index 11d1a08..11d1a08 100644
--- a/.gitlab/ci/configure_fedora36_makefiles.cmake
+++ b/.gitlab/ci/configure_fedora37_makefiles.cmake
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_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_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/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/docker/fedora36/Dockerfile b/.gitlab/ci/docker/fedora37/Dockerfile
index ea42561..13ef9aa 100644
--- a/.gitlab/ci/docker/fedora36/Dockerfile
+++ b/.gitlab/ci/docker/fedora37/Dockerfile
@@ -1,22 +1,22 @@
-FROM fedora:36 as rvm-build
+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:36 AS clang-tidy-headers
+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:36 AS iwyu
+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:36
+FROM fedora:37
MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
COPY install_deps.sh /root/install_deps.sh
diff --git a/.gitlab/ci/docker/fedora36/install_clang_tidy_headers.sh b/.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh
index b9883f4..b9883f4 100755
--- a/.gitlab/ci/docker/fedora36/install_clang_tidy_headers.sh
+++ b/.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh
diff --git a/.gitlab/ci/docker/fedora36/install_deps.sh b/.gitlab/ci/docker/fedora37/install_deps.sh
index f117888..afb8560 100755
--- a/.gitlab/ci/docker/fedora36/install_deps.sh
+++ b/.gitlab/ci/docker/fedora37/install_deps.sh
@@ -11,8 +11,11 @@ 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
diff --git a/.gitlab/ci/docker/fedora36/install_iwyu.sh b/.gitlab/ci/docker/fedora37/install_iwyu.sh
index 714bcc0..714bcc0 100755
--- a/.gitlab/ci/docker/fedora36/install_iwyu.sh
+++ b/.gitlab/ci/docker/fedora37/install_iwyu.sh
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/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_fedora36_extdeps.sh b/.gitlab/ci/env_fedora37_extdeps.sh
index 7076e18..7076e18 100644
--- a/.gitlab/ci/env_fedora36_extdeps.sh
+++ b/.gitlab/ci/env_fedora37_extdeps.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_fedora37_tidy.sh b/.gitlab/ci/env_fedora37_tidy.sh
new file mode 100644
index 0000000..f9f08a3
--- /dev/null
+++ b/.gitlab/ci/env_fedora37_tidy.sh
@@ -0,0 +1,7 @@
+cmake \
+ -S Utilities/ClangTidyModule \
+ -B Utilities/ClangTidyModule/build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DRUN_TESTS=ON
+cmake --build Utilities/ClangTidyModule/build
+ctest --test-dir Utilities/ClangTidyModule/build --output-on-failure
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/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/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/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 84950d2..8fc6ae1 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"
@@ -68,8 +68,8 @@
### Fedora
-.fedora36:
- image: "kitware/cmake:ci-fedora36-x86_64-2022-10-04"
+.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
@@ -153,35 +153,35 @@
CMAKE_CI_BUILD_TYPE: Release
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora36_extdeps:
- extends: .fedora36
+.fedora37_extdeps:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_extdeps
+ CMAKE_CONFIGURATION: fedora37_extdeps
CMAKE_CI_BUILD_TYPE: Release
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora36_ninja:
- extends: .fedora36
+.fedora37_ninja:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_ninja
+ CMAKE_CONFIGURATION: fedora37_ninja
CMAKE_CI_BUILD_TYPE: Release
CTEST_NO_WARNINGS_ALLOWED: 1
-.fedora36_ninja_multi:
- extends: .fedora36
+.fedora37_ninja_multi:
+ extends: .fedora37
variables:
- CMAKE_CONFIGURATION: fedora36_ninja_multi
+ 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"
@@ -200,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:
@@ -213,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
@@ -437,7 +450,7 @@
.cmake_codespell_linux:
stage: build
- extends: .fedora36
+ extends: .fedora37
script:
- codespell
interruptible: true
@@ -580,7 +593,7 @@
.cmake_org_help:
stage: build
extends:
- - .fedora36
+ - .fedora37
- .linux_builder_tags
- .cmake_org_help_artifacts
script:
diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml
index 82bcf01..4b71a1b 100644
--- a/.gitlab/os-macos.yml
+++ b/.gitlab/os-macos.yml
@@ -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 eeed640..64b595e 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -49,6 +49,12 @@
VCVARSPLATFORM: "x64_arm64"
VCVARSVERSION: "14.34.31933"
+.windows_arm64_vcvarsall_vs2022:
+ variables:
+ VCVARSALL: "${VS170COMNTOOLS}\\..\\..\\VC\\Auxiliary\\Build\\vcvarsall.bat"
+ VCVARSPLATFORM: "arm64"
+ VCVARSVERSION: "14.34.31933"
+
.windows_vs2022_x64_ninja:
extends:
- .windows_build_ninja
@@ -57,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
@@ -224,6 +238,39 @@
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:
@@ -269,6 +316,24 @@
- shell
- concurrent
+.windows_arm64_tags_nonconcurrent_vs2022:
+ tags:
+ - cmake # Since this is a bare runner, pin to a project.
+ - windows-arm64
+ - shell
+ - vs2022
+ - msvc-19.34
+ - nonconcurrent
+
+.windows_arm64_tags_concurrent_vs2022:
+ tags:
+ - cmake # Since this is a bare runner, pin to a project.
+ - windows-arm64
+ - shell
+ - vs2022
+ - msvc-19.34
+ - concurrent
+
## Windows-specific scripts
.before_script_windows: &before_script_windows
@@ -281,11 +346,8 @@
- . .gitlab/ci/ninja-env.ps1
- (& "$env:WIX\bin\light.exe" -help) | Select -First 1
- cmake --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
diff --git a/.gitlab/upload.yml b/.gitlab/upload.yml
index 38d40a9..27a6ab7 100644
--- a/.gitlab/upload.yml
+++ b/.gitlab/upload.yml
@@ -1,7 +1,7 @@
# Steps for uploading artifacts
.rsync_upload_package:
- image: "fedora:36"
+ image: "fedora:37"
stage: upload
tags:
- cmake
@@ -21,7 +21,7 @@
.rsync_upload_help:
stage: upload
- image: "fedora:36"
+ image: "fedora:37"
tags:
- cmake
- docker