From d909ea2ed8e37bda69a8e33931992e35b9b75895 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 24 Apr 2024 15:02:15 -0400 Subject: ci: Add an image for ROCm 5 HIP packages on Fedora 39 The ROCm 6 HIP packages on Fedora 40 do not seem to fully work for our test suite in CI jobs. Add a dedicated image to run our HIP tests on Fedora 39. Issue: #25932 --- .gitlab/ci/docker/fedora39-hip/Dockerfile | 27 ++++++++++++++++++++++++ .gitlab/ci/docker/fedora39-hip/deps_packages.lst | 15 +++++++++++++ .gitlab/ci/docker/fedora39-hip/install_deps.sh | 10 +++++++++ 3 files changed, 52 insertions(+) create mode 100644 .gitlab/ci/docker/fedora39-hip/Dockerfile create mode 100644 .gitlab/ci/docker/fedora39-hip/deps_packages.lst create mode 100755 .gitlab/ci/docker/fedora39-hip/install_deps.sh diff --git a/.gitlab/ci/docker/fedora39-hip/Dockerfile b/.gitlab/ci/docker/fedora39-hip/Dockerfile new file mode 100644 index 0000000..0347cc4 --- /dev/null +++ b/.gitlab/ci/docker/fedora39-hip/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1 + +ARG BASE_IMAGE=fedora:39 + +FROM ${BASE_IMAGE} AS dnf-cache +# Populate DNF cache w/ the fresh metadata and prefetch packages. +RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ + --mount=type=tmpfs,target=/var/log \ + --mount=type=tmpfs,target=/tmp \ + dnf install \ + --setopt=install_weak_deps=False \ + --setopt=fastestmirror=True \ + --setopt=max_parallel_downloads=10 \ + --downloadonly \ + -y \ + $(grep -h '^[^#]\+$' /root/*.lst) + +FROM ${BASE_IMAGE} +LABEL maintainer="Brad King " + +RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ + --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ + --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ + --mount=type=cache,target=/var/cache/pip \ + --mount=type=tmpfs,target=/var/log \ + --mount=type=tmpfs,target=/tmp \ + sh /root/install_deps.sh diff --git a/.gitlab/ci/docker/fedora39-hip/deps_packages.lst b/.gitlab/ci/docker/fedora39-hip/deps_packages.lst new file mode 100644 index 0000000..70b114c --- /dev/null +++ b/.gitlab/ci/docker/fedora39-hip/deps_packages.lst @@ -0,0 +1,15 @@ +# Install development tools. +clang +clang-tools-extra +compiler-rt +gcc-c++ +git-core +make + +# Install HIP language toolchain. +hsakmt-devel +lld +llvm +rocm-comgr-devel +rocm-hip-devel +rocm-runtime-devel diff --git a/.gitlab/ci/docker/fedora39-hip/install_deps.sh b/.gitlab/ci/docker/fedora39-hip/install_deps.sh new file mode 100755 index 0000000..eedff9c --- /dev/null +++ b/.gitlab/ci/docker/fedora39-hip/install_deps.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +dnf install \ + --setopt=install_weak_deps=False \ + --setopt=fastestmirror=True \ + --setopt=max_parallel_downloads=10 \ + -y \ + $(grep '^[^#]\+$' /root/deps_packages.lst) -- cgit v0.12 From 3a44b8dfc0697cf0e72aa370a15e8fadcf81da6c Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 24 Apr 2024 15:06:59 -0400 Subject: ci: Move job for HIP tests on Fedora 39 to a dedicated base image The ROCm 6 HIP packages on Fedora 40 do not seem to fully work for our test suite in CI jobs. Use a dedicated image to run our HIP tests on Fedora 39 so that the rest of our Fedora jobs can be moved to Fedora 40 later. Issue: #25932 --- .gitlab/os-linux.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 03778c2..de1d64b 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -75,6 +75,13 @@ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" CMAKE_ARCH: x86_64 +.fedora39_hip: + image: "kitware/cmake:ci-fedora39-hip-x86_64-2024-04-24" + + variables: + GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" + CMAKE_ARCH: x86_64 + #### Lint builds .fedora39_tidy: @@ -410,7 +417,7 @@ CTEST_LABELS: "HIP" .fedora39_hip_radeon: - extends: .fedora39 + extends: .fedora39_hip variables: CMAKE_CONFIGURATION: fedora39_hip_radeon -- cgit v0.12 From dc7fceb2005981695e8f97ab90bd64b4c88af30b Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 25 Jan 2024 09:32:57 -0500 Subject: Utilities/Sphinx: Ignore warning in generated texinfo documentation --- Utilities/Sphinx/CTestCustom.cmake.in | 1 + 1 file changed, 1 insertion(+) diff --git a/Utilities/Sphinx/CTestCustom.cmake.in b/Utilities/Sphinx/CTestCustom.cmake.in index 840121b..ee13aa1 100644 --- a/Utilities/Sphinx/CTestCustom.cmake.in +++ b/Utilities/Sphinx/CTestCustom.cmake.in @@ -1,3 +1,4 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION "cmake.texi:[0-9]+: warning: .definfoenclose is obsolete" + "cmake.texi:[0-9]+: warning: @ref should not appear on @item line" ) -- cgit v0.12 From 901379a19b882033a1d66e588fa423604f357831 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Apr 2024 15:02:27 -0400 Subject: CTestCustom: Ignore warnings in third-party zstd code We already do this for other third-party libraries. --- CTestCustom.cmake.in | 1 + 1 file changed, 1 insertion(+) diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in index a81ee4b..ae55715 100644 --- a/CTestCustom.cmake.in +++ b/CTestCustom.cmake.in @@ -17,6 +17,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION "not sorted slower link editing will result" "stl_deque.h:479" "Utilities.cmzlib." + "Utilities.cmzstd." "Utilities.cmbzip2." "Source.CTest.Curl" "Source.CursesDialog.form" -- cgit v0.12 From 7339fbf0392f57202a6f9480b5629ccb3fb91d35 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Apr 2024 15:22:57 -0400 Subject: clang-tidy: ignore warnings new in version 18 These warnings can be fixed in the future. Ignore them for now. --- .clang-tidy | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.clang-tidy b/.clang-tidy index 03e6a51..6d2edd4 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -5,12 +5,16 @@ bugprone-*,\ -bugprone-easily-swappable-parameters,\ -bugprone-empty-catch,\ -bugprone-implicit-widening-of-multiplication-result,\ +-bugprone-inc-dec-in-conditions,\ -bugprone-macro-parentheses,\ -bugprone-misplaced-widening-cast,\ +-bugprone-multi-level-implicit-pointer-conversion,\ -bugprone-narrowing-conversions,\ -bugprone-switch-missing-default-case,\ -bugprone-too-small-loop-variable,\ -bugprone-unchecked-optional-access,\ +-bugprone-unused-local-non-trivial-variable,\ +-bugprone-unused-return-value,\ misc-*,\ -misc-confusable-identifiers,\ -misc-const-correctness,\ @@ -31,9 +35,12 @@ modernize-*,\ -modernize-use-transparent-functors,\ performance-*,\ -performance-avoid-endl,\ +-performance-enum-size,\ -performance-inefficient-vector-operation,\ -performance-noexcept-swap,\ readability-*,\ +-readability-avoid-nested-conditional-operator,\ +-readability-avoid-return-with-void-value,\ -readability-avoid-unconditional-preprocessor-if,\ -readability-convert-member-functions-to-static,\ -readability-function-cognitive-complexity,\ @@ -45,8 +52,11 @@ readability-*,\ -readability-magic-numbers,\ -readability-make-member-function-const,\ -readability-named-parameter,\ +-readability-redundant-casting,\ -readability-redundant-declaration,\ +-readability-redundant-inline-specifier,\ -readability-redundant-member-init,\ +-readability-reference-to-constructed-temporary,\ -readability-simplify-boolean-expr,\ -readability-static-accessed-through-instance,\ -readability-suspicious-call-argument,\ -- cgit v0.12 From 21ef873660cee8c03e08dd1406faa2c70fc8b5f3 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Apr 2024 15:10:23 -0400 Subject: clang-tidy module: Update to build against LLVM/Clang 18 --- Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx b/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx index 37ecd70..9ec8e5f 100644 --- a/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx +++ b/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx @@ -55,10 +55,10 @@ public: , FID(FID) { SourceManager& SM = this->PP->getSourceManager(); - const FileEntry* Entry = SM.getFileEntryForID(FID); + OptionalFileEntryRef Entry = SM.getFileEntryRefForID(FID); assert(Entry && "Invalid FileID given"); - Lexer MyLexer(FID, SM.getMemoryBufferForFileOrFake(Entry), SM, + Lexer MyLexer(FID, SM.getMemoryBufferForFileOrFake(*Entry), SM, this->PP->getLangOpts()); Token Tok; @@ -157,9 +157,10 @@ public: // guards. SourceManager& SM = this->PP->getSourceManager(); if (Reason == EnterFile && FileType == SrcMgr::C_User) { - if (const FileEntry* FE = SM.getFileEntryForID(SM.getFileID(Loc))) { + if (OptionalFileEntryRef FE = + SM.getFileEntryRefForID(SM.getFileID(Loc))) { std::string FileName = cleanPath(FE->getName()); - this->Files[FileName] = FE; + this->Files.try_emplace(FileName, *FE); } } } @@ -205,9 +206,9 @@ public: continue; } - const FileEntry* FE = - SM.getFileEntryForID(SM.getFileID(MI->getDefinitionLoc())); - std::string FileName = cleanPath(FE->getName()); + FileEntryRef FE = + *SM.getFileEntryRefForID(SM.getFileID(MI->getDefinitionLoc())); + std::string FileName = cleanPath(FE.getName()); this->Files.erase(FileName); // Look up Locations for this guard. @@ -290,7 +291,7 @@ private: } std::vector> Macros; - llvm::StringMap Files; + llvm::StringMap Files; std::map> Ifndefs; std::map EndIfs; -- cgit v0.12 From 0f56cc9a4ee61fa779796db6e8858a7db7b659ec Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Apr 2024 13:58:50 -0400 Subject: ci: update Linux image to Fedora 40 Drop ROCm HIP packages from the image in favor of the dedicated Fedora 39 base image we use for that job. Issue: #25932 --- .gitlab/ci/docker/fedora39/Dockerfile | 58 ------------ .gitlab/ci/docker/fedora39/deps_packages.lst | 128 --------------------------- .gitlab/ci/docker/fedora39/install_deps.sh | 31 ------- .gitlab/ci/docker/fedora39/install_iwyu.sh | 42 --------- .gitlab/ci/docker/fedora39/install_rvm.sh | 25 ------ .gitlab/ci/docker/fedora39/iwyu_packages.lst | 7 -- .gitlab/ci/docker/fedora39/rvm_packages.lst | 18 ---- .gitlab/ci/docker/fedora40/Dockerfile | 58 ++++++++++++ .gitlab/ci/docker/fedora40/deps_packages.lst | 125 ++++++++++++++++++++++++++ .gitlab/ci/docker/fedora40/install_deps.sh | 31 +++++++ .gitlab/ci/docker/fedora40/install_iwyu.sh | 42 +++++++++ .gitlab/ci/docker/fedora40/install_rvm.sh | 25 ++++++ .gitlab/ci/docker/fedora40/iwyu_packages.lst | 7 ++ .gitlab/ci/docker/fedora40/rvm_packages.lst | 18 ++++ 14 files changed, 306 insertions(+), 309 deletions(-) delete mode 100644 .gitlab/ci/docker/fedora39/Dockerfile delete mode 100644 .gitlab/ci/docker/fedora39/deps_packages.lst delete mode 100755 .gitlab/ci/docker/fedora39/install_deps.sh delete mode 100755 .gitlab/ci/docker/fedora39/install_iwyu.sh delete mode 100755 .gitlab/ci/docker/fedora39/install_rvm.sh delete mode 100644 .gitlab/ci/docker/fedora39/iwyu_packages.lst delete mode 100644 .gitlab/ci/docker/fedora39/rvm_packages.lst create mode 100644 .gitlab/ci/docker/fedora40/Dockerfile create mode 100644 .gitlab/ci/docker/fedora40/deps_packages.lst create mode 100755 .gitlab/ci/docker/fedora40/install_deps.sh create mode 100755 .gitlab/ci/docker/fedora40/install_iwyu.sh create mode 100755 .gitlab/ci/docker/fedora40/install_rvm.sh create mode 100644 .gitlab/ci/docker/fedora40/iwyu_packages.lst create mode 100644 .gitlab/ci/docker/fedora40/rvm_packages.lst diff --git a/.gitlab/ci/docker/fedora39/Dockerfile b/.gitlab/ci/docker/fedora39/Dockerfile deleted file mode 100644 index f14e017..0000000 --- a/.gitlab/ci/docker/fedora39/Dockerfile +++ /dev/null @@ -1,58 +0,0 @@ -# syntax=docker/dockerfile:1 - -ARG BASE_IMAGE=fedora:39 - -FROM ${BASE_IMAGE} AS dnf-cache -# Populate DNF cache w/ the fresh metadata and prefetch packages. -RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=bind,source=iwyu_packages.lst,target=/root/iwyu_packages.lst \ - --mount=type=bind,source=rvm_packages.lst,target=/root/rvm_packages.lst \ - --mount=type=tmpfs,target=/var/log \ - --mount=type=tmpfs,target=/tmp \ - dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - --downloadonly \ - -y \ - $(grep -h '^[^#]\+$' /root/*.lst) - - -FROM ${BASE_IMAGE} AS rvm-build -LABEL maintainer="Ben Boeckel " - -RUN --mount=type=bind,source=install_rvm.sh,target=/root/install_rvm.sh \ - --mount=type=bind,source=rvm_packages.lst,target=/root/rvm_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ - --mount=type=tmpfs,target=/var/log \ - --mount=type=tmpfs,target=/tmp \ - sh /root/install_rvm.sh - - -FROM ${BASE_IMAGE} AS iwyu-build -LABEL maintainer="Kyle Edwards " - -RUN --mount=type=bind,source=install_iwyu.sh,target=/root/install_iwyu.sh \ - --mount=type=bind,source=iwyu_packages.lst,target=/root/iwyu_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ - --mount=type=tmpfs,target=/var/log \ - --mount=type=tmpfs,target=/tmp \ - sh /root/install_iwyu.sh - - -FROM ${BASE_IMAGE} -LABEL maintainer="Ben Boeckel " - -RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ - --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ - --mount=type=cache,target=/var/cache/pip \ - --mount=type=tmpfs,target=/var/log \ - --mount=type=tmpfs,target=/tmp \ - sh /root/install_deps.sh - -RUN --mount=type=bind,from=rvm-build,source=/root,target=/root \ - tar -C /usr/local -xf /root/rvm.tar - -RUN --mount=type=bind,from=iwyu-build,source=/root,target=/root \ - tar -C / -xf /root/iwyu.tar diff --git a/.gitlab/ci/docker/fedora39/deps_packages.lst b/.gitlab/ci/docker/fedora39/deps_packages.lst deleted file mode 100644 index 1459894..0000000 --- a/.gitlab/ci/docker/fedora39/deps_packages.lst +++ /dev/null @@ -1,128 +0,0 @@ -# Install build requirements. -ncurses-devel -openssl-devel -qt5-qtbase-devel -qt6-qtbase-devel - -# Install development tools. -clang -clang-devel -clang-tools-extra -clang-tools-extra-devel -compiler-rt -flang -flang-devel -gcc-c++ -git-core -llvm-devel -make - -# Install optional external build dependencies. -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. -python3-sphinx -texinfo -qt5-qttools-devel -qt6-qttools-devel - -# Install lint tools. -clang-analyzer -codespell - -# Tools needed for the test suite. -findutils -file -jq -which - -# Install ASM_NASM language toolchain. -nasm - -# Install HIP language toolchain. -hsakmt-devel -lld -rocm-comgr-devel -rocm-hip-devel -rocm-runtime-devel - -# Packages needed to test CTest. -breezy -subversion -mercurial - -# Packages needed to test CPack. -rpm-build - -# Packages needed to test find modules. -alsa-lib-devel -blas-devel -boost-devel boost-python3-devel -bzip2-devel -cups-devel -DevIL-devel -doxygen -expat-devel -fontconfig-devel -freeglut-devel -freetype-devel -gdal-devel -gettext -giflib-devel -glew-devel -gmock -gnutls-devel -grpc-devel grpc-plugins -gsl-devel -gtest-devel -gtk2-devel -hdf5-devel -hdf5-mpich-devel -hdf5-openmpi-devel -ImageMagick-c++-devel -jasper-devel -java-11-openjdk-devel -jsoncpp-devel -lapack-devel -libarchive-devel -libcurl-devel -libicu-devel -libinput-devel systemd-devel -libjpeg-turbo-devel -libpng-devel -opensp-devel -postgresql-server-devel -libtiff-devel -libuv-devel -libxml2-devel -libxslt-devel -mpich-devel -openal-soft-devel -openmpi-devel -patch -perl -protobuf-devel protobuf-c-devel protobuf-lite-devel -pypy2 pypy2-devel -pypy3 pypy3-devel -python2 python2-devel -python3 python3-devel python3-numpy -python3-jsmin python3-jsonschema -ruby rubygems ruby-devel -SDL-devel -sqlite-devel -swig -unixODBC-devel -wxGTK-devel -xalan-c-devel -xerces-c-devel -xz-devel diff --git a/.gitlab/ci/docker/fedora39/install_deps.sh b/.gitlab/ci/docker/fedora39/install_deps.sh deleted file mode 100755 index 70e2293..0000000 --- a/.gitlab/ci/docker/fedora39/install_deps.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -set -e - -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/deps_packages.lst) - -# Fedora no longer packages python2 numpy. -curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o - | python2 -pip2.7 install --disable-pip-version-check --no-input --no-compile --cache-dir /var/cache/pip numpy - -# Remove demos and Python2 tests -for p in Demo test; do - rm -rf /usr/lib64/python2.7/${p} -done - -# Remove tests for numpy -for v in 2.7 3.12; do - find /usr/lib64/python${v}/site-packages/numpy -type d -a -name tests -exec rm -rf {} + -done - -# Remove some other packages tests -find /usr/lib64/python3.12/site-packages/breezy -type d -a -name tests -exec rm -rf {} + - -# Perforce -curl -L https://www.perforce.com/downloads/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz -o - \ - | tar -C /usr/local/bin -xvzf - -- p4 p4d diff --git a/.gitlab/ci/docker/fedora39/install_iwyu.sh b/.gitlab/ci/docker/fedora39/install_iwyu.sh deleted file mode 100755 index 684e355..0000000 --- a/.gitlab/ci/docker/fedora39/install_iwyu.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -set -e - -# Install development tools. -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/iwyu_packages.lst) - -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 < Date: Tue, 23 Apr 2024 14:04:36 -0400 Subject: ci: use Fedora 40 images and environments Leave the HIP-specific job on Fedora 39 for now. Issue: #25932 --- .gitlab-ci.yml | 84 ++++++++-------- .gitlab/ci/configure_fedora39_asan.cmake | 4 - .gitlab/ci/configure_fedora39_clang_analyzer.cmake | 3 - .gitlab/ci/configure_fedora39_common.cmake | 7 -- .gitlab/ci/configure_fedora39_common_clang.cmake | 5 - .gitlab/ci/configure_fedora39_extdeps.cmake | 1 - .gitlab/ci/configure_fedora39_makefiles.cmake | 112 --------------------- .../ci/configure_fedora39_makefiles_clang.cmake | 5 - .../configure_fedora39_makefiles_symlinked.cmake | 2 - .gitlab/ci/configure_fedora39_ninja.cmake | 15 --- .gitlab/ci/configure_fedora39_ninja_clang.cmake | 3 - .gitlab/ci/configure_fedora39_ninja_multi.cmake | 5 - .../ci/configure_fedora39_ninja_multi_clang.cmake | 3 - .gitlab/ci/configure_fedora39_sphinx.cmake | 2 - .gitlab/ci/configure_fedora39_sphinx_package.cmake | 13 --- .gitlab/ci/configure_fedora39_tidy.cmake | 6 -- .gitlab/ci/configure_fedora40_asan.cmake | 4 + .gitlab/ci/configure_fedora40_clang_analyzer.cmake | 3 + .gitlab/ci/configure_fedora40_common.cmake | 7 ++ .gitlab/ci/configure_fedora40_common_clang.cmake | 5 + .gitlab/ci/configure_fedora40_extdeps.cmake | 1 + .gitlab/ci/configure_fedora40_makefiles.cmake | 112 +++++++++++++++++++++ .../ci/configure_fedora40_makefiles_clang.cmake | 5 + .../configure_fedora40_makefiles_symlinked.cmake | 2 + .gitlab/ci/configure_fedora40_ninja.cmake | 15 +++ .gitlab/ci/configure_fedora40_ninja_clang.cmake | 3 + .gitlab/ci/configure_fedora40_ninja_multi.cmake | 5 + .../ci/configure_fedora40_ninja_multi_clang.cmake | 3 + .gitlab/ci/configure_fedora40_sphinx.cmake | 2 + .gitlab/ci/configure_fedora40_sphinx_package.cmake | 13 +++ .gitlab/ci/configure_fedora40_tidy.cmake | 6 ++ .gitlab/ci/ctest_memcheck_fedora39_asan.lsan.supp | 1 - .gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp | 1 + .gitlab/ci/env_fedora39_asan.sh | 2 - .gitlab/ci/env_fedora39_clang_analyzer.sh | 2 - .gitlab/ci/env_fedora39_common_clang.sh | 3 - .gitlab/ci/env_fedora39_extdeps.sh | 1 - .gitlab/ci/env_fedora39_makefiles.cmake | 1 - .gitlab/ci/env_fedora39_makefiles.sh | 8 -- .gitlab/ci/env_fedora39_makefiles_clang.sh | 1 - .gitlab/ci/env_fedora39_makefiles_symlinked.cmake | 1 - .gitlab/ci/env_fedora39_makefiles_symlinked.sh | 1 - .gitlab/ci/env_fedora39_ninja.sh | 3 - .gitlab/ci/env_fedora39_ninja_clang.sh | 1 - .gitlab/ci/env_fedora39_ninja_multi.sh | 3 - .gitlab/ci/env_fedora39_ninja_multi_clang.sh | 1 - .gitlab/ci/env_fedora40_asan.sh | 2 + .gitlab/ci/env_fedora40_clang_analyzer.sh | 2 + .gitlab/ci/env_fedora40_common_clang.sh | 3 + .gitlab/ci/env_fedora40_extdeps.sh | 1 + .gitlab/ci/env_fedora40_makefiles.cmake | 1 + .gitlab/ci/env_fedora40_makefiles.sh | 8 ++ .gitlab/ci/env_fedora40_makefiles_clang.sh | 1 + .gitlab/ci/env_fedora40_makefiles_symlinked.cmake | 1 + .gitlab/ci/env_fedora40_makefiles_symlinked.sh | 1 + .gitlab/ci/env_fedora40_ninja.sh | 3 + .gitlab/ci/env_fedora40_ninja_clang.sh | 1 + .gitlab/ci/env_fedora40_ninja_multi.sh | 3 + .gitlab/ci/env_fedora40_ninja_multi_clang.sh | 1 + .gitlab/ci/post_build_fedora39_tidy.sh | 21 ---- .gitlab/ci/post_build_fedora40_tidy.sh | 21 ++++ .gitlab/ci/pre_build_fedora39_tidy.sh | 9 -- .gitlab/ci/pre_build_fedora40_tidy.sh | 9 ++ .gitlab/os-linux.yml | 89 ++++++++-------- .gitlab/upload.yml | 4 +- 65 files changed, 334 insertions(+), 333 deletions(-) delete mode 100644 .gitlab/ci/configure_fedora39_asan.cmake delete mode 100644 .gitlab/ci/configure_fedora39_clang_analyzer.cmake delete mode 100644 .gitlab/ci/configure_fedora39_common.cmake delete mode 100644 .gitlab/ci/configure_fedora39_common_clang.cmake delete mode 100644 .gitlab/ci/configure_fedora39_extdeps.cmake delete mode 100644 .gitlab/ci/configure_fedora39_makefiles.cmake delete mode 100644 .gitlab/ci/configure_fedora39_makefiles_clang.cmake delete mode 100644 .gitlab/ci/configure_fedora39_makefiles_symlinked.cmake delete mode 100644 .gitlab/ci/configure_fedora39_ninja.cmake delete mode 100644 .gitlab/ci/configure_fedora39_ninja_clang.cmake delete mode 100644 .gitlab/ci/configure_fedora39_ninja_multi.cmake delete mode 100644 .gitlab/ci/configure_fedora39_ninja_multi_clang.cmake delete mode 100644 .gitlab/ci/configure_fedora39_sphinx.cmake delete mode 100644 .gitlab/ci/configure_fedora39_sphinx_package.cmake delete mode 100644 .gitlab/ci/configure_fedora39_tidy.cmake create mode 100644 .gitlab/ci/configure_fedora40_asan.cmake create mode 100644 .gitlab/ci/configure_fedora40_clang_analyzer.cmake create mode 100644 .gitlab/ci/configure_fedora40_common.cmake create mode 100644 .gitlab/ci/configure_fedora40_common_clang.cmake create mode 100644 .gitlab/ci/configure_fedora40_extdeps.cmake create mode 100644 .gitlab/ci/configure_fedora40_makefiles.cmake create mode 100644 .gitlab/ci/configure_fedora40_makefiles_clang.cmake create mode 100644 .gitlab/ci/configure_fedora40_makefiles_symlinked.cmake create mode 100644 .gitlab/ci/configure_fedora40_ninja.cmake create mode 100644 .gitlab/ci/configure_fedora40_ninja_clang.cmake create mode 100644 .gitlab/ci/configure_fedora40_ninja_multi.cmake create mode 100644 .gitlab/ci/configure_fedora40_ninja_multi_clang.cmake create mode 100644 .gitlab/ci/configure_fedora40_sphinx.cmake create mode 100644 .gitlab/ci/configure_fedora40_sphinx_package.cmake create mode 100644 .gitlab/ci/configure_fedora40_tidy.cmake delete mode 100644 .gitlab/ci/ctest_memcheck_fedora39_asan.lsan.supp create mode 100644 .gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp delete mode 100644 .gitlab/ci/env_fedora39_asan.sh delete mode 100644 .gitlab/ci/env_fedora39_clang_analyzer.sh delete mode 100644 .gitlab/ci/env_fedora39_common_clang.sh delete mode 100644 .gitlab/ci/env_fedora39_extdeps.sh delete mode 100644 .gitlab/ci/env_fedora39_makefiles.cmake delete mode 100644 .gitlab/ci/env_fedora39_makefiles.sh delete mode 100644 .gitlab/ci/env_fedora39_makefiles_clang.sh delete mode 100644 .gitlab/ci/env_fedora39_makefiles_symlinked.cmake delete mode 100644 .gitlab/ci/env_fedora39_makefiles_symlinked.sh delete mode 100644 .gitlab/ci/env_fedora39_ninja.sh delete mode 100644 .gitlab/ci/env_fedora39_ninja_clang.sh delete mode 100644 .gitlab/ci/env_fedora39_ninja_multi.sh delete mode 100644 .gitlab/ci/env_fedora39_ninja_multi_clang.sh create mode 100644 .gitlab/ci/env_fedora40_asan.sh create mode 100644 .gitlab/ci/env_fedora40_clang_analyzer.sh create mode 100644 .gitlab/ci/env_fedora40_common_clang.sh create mode 100644 .gitlab/ci/env_fedora40_extdeps.sh create mode 100644 .gitlab/ci/env_fedora40_makefiles.cmake create mode 100644 .gitlab/ci/env_fedora40_makefiles.sh create mode 100644 .gitlab/ci/env_fedora40_makefiles_clang.sh create mode 100644 .gitlab/ci/env_fedora40_makefiles_symlinked.cmake create mode 100644 .gitlab/ci/env_fedora40_makefiles_symlinked.sh create mode 100644 .gitlab/ci/env_fedora40_ninja.sh create mode 100644 .gitlab/ci/env_fedora40_ninja_clang.sh create mode 100644 .gitlab/ci/env_fedora40_ninja_multi.sh create mode 100644 .gitlab/ci/env_fedora40_ninja_multi_clang.sh delete mode 100644 .gitlab/ci/post_build_fedora39_tidy.sh create mode 100644 .gitlab/ci/post_build_fedora40_tidy.sh delete mode 100644 .gitlab/ci/pre_build_fedora39_tidy.sh create mode 100644 .gitlab/ci/pre_build_fedora40_tidy.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1508615..fb9484e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,7 +59,7 @@ p:source-package: p:doc-package: extends: - - .fedora39_sphinx_package + - .fedora40_sphinx_package - .cmake_prep_doc_linux - .linux_x86_64_tags - .cmake_doc_artifacts @@ -108,18 +108,18 @@ l:iwyu-debian12: - .cmake_cdash_artifacts - .run_automatically -l:tidy-fedora39: +l:tidy-fedora40: extends: - - .fedora39_tidy + - .fedora40_tidy - .cmake_build_linux - .cmake_tidy_artifacts - .linux_x86_64_tags - .cmake_cdash_artifacts - .run_automatically -l:sphinx-fedora39: +l:sphinx-fedora40: extends: - - .fedora39_sphinx + - .fedora40_sphinx - .cmake_build_linux - .cmake_sphinx_artifacts - .linux_x86_64_tags @@ -128,9 +128,9 @@ l:sphinx-fedora39: CMAKE_CI_JOB_CONTINUOUS: "true" CMAKE_CI_JOB_HELP: "true" -l:clang-analyzer-fedora39: +l:clang-analyzer-fedora40: extends: - - .fedora39_clang_analyzer + - .fedora40_clang_analyzer - .cmake_build_linux - .linux_x86_64_tags - .run_automatically @@ -234,9 +234,9 @@ t:fedora39-hip-radeon: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-ninja-clang: +t:fedora40-ninja-clang: extends: - - .fedora39_ninja_clang + - .fedora40_ninja_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -244,9 +244,9 @@ t:fedora39-ninja-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-ninja-multi-clang: +t:fedora40-ninja-multi-clang: extends: - - .fedora39_ninja_multi_clang + - .fedora40_ninja_multi_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -254,9 +254,9 @@ t:fedora39-ninja-multi-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-makefiles-clang: +t:fedora40-makefiles-clang: extends: - - .fedora39_makefiles_clang + - .fedora40_makefiles_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -264,17 +264,17 @@ t:fedora39-makefiles-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-makefiles: +t:fedora40-makefiles: extends: - - .fedora39_makefiles + - .fedora40_makefiles - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - .needs_centos7_x86_64 -t:fedora39-makefiles-nospace: +t:fedora40-makefiles-nospace: extends: - - .fedora39_makefiles + - .fedora40_makefiles - .cmake_test_linux_release - .linux_x86_64_tags - .cmake_junit_artifacts @@ -282,7 +282,7 @@ t:fedora39-makefiles-nospace: - .needs_centos7_x86_64 variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" - CMAKE_CI_BUILD_NAME: fedora39_makefiles_nospace + CMAKE_CI_BUILD_NAME: fedora40_makefiles_nospace CMAKE_CI_JOB_NIGHTLY: "true" t:nvhpc22.11-ninja: @@ -437,9 +437,9 @@ t:debian10-legacy: variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora39-ninja: +b:fedora40-ninja: extends: - - .fedora39_ninja + - .fedora40_ninja - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -447,9 +447,9 @@ b:fedora39-ninja: variables: CMAKE_CI_JOB_CONTINUOUS: "true" -b:fedora39-makefiles-symlinked: +b:fedora40-makefiles-symlinked: extends: - - .fedora39_makefiles_symlinked + - .fedora40_makefiles_symlinked - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -484,54 +484,54 @@ b:debian12-aarch64-extdeps: variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora39-extdeps: +b:fedora40-extdeps: extends: - - .fedora39_extdeps + - .fedora40_extdeps - .cmake_build_linux_standalone - .linux_x86_64_tags - .run_manually variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-ninja: +t:fedora40-ninja: extends: - - .fedora39_ninja + - .fedora40_ninja - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .run_dependent dependencies: - - b:fedora39-ninja + - b:fedora40-ninja needs: - - b:fedora39-ninja + - b:fedora40-ninja variables: CMAKE_CI_JOB_CONTINUOUS: "true" -t:fedora39-makefiles-symlinked: +t:fedora40-makefiles-symlinked: extends: - - .fedora39_makefiles_symlinked + - .fedora40_makefiles_symlinked - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .run_dependent dependencies: - - b:fedora39-makefiles-symlinked + - b:fedora40-makefiles-symlinked needs: - - b:fedora39-makefiles-symlinked + - b:fedora40-makefiles-symlinked variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-ninja-multi: +t:fedora40-ninja-multi: extends: - - .fedora39_ninja_multi + - .fedora40_ninja_multi - .cmake_test_linux_external - .linux_x86_64_tags - .cmake_junit_artifacts - .run_dependent dependencies: - - t:fedora39-ninja + - t:fedora40-ninja needs: - - t:fedora39-ninja + - t:fedora40-ninja t:intel2016u2-makefiles: extends: @@ -786,9 +786,9 @@ u:linux-aarch64-package: ## Sanitizer builds -b:fedora39-asan: +b:fedora40-asan: extends: - - .fedora39_asan + - .fedora40_asan - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -796,16 +796,16 @@ b:fedora39-asan: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-asan: +t:fedora40-asan: extends: - - .fedora39_asan + - .fedora40_asan - .cmake_memcheck_linux - .linux_x86_64_tags - .run_dependent dependencies: - - b:fedora39-asan + - b:fedora40-asan needs: - - b:fedora39-asan + - b:fedora40-asan variables: CMAKE_CI_JOB_NIGHTLY: "true" diff --git a/.gitlab/ci/configure_fedora39_asan.cmake b/.gitlab/ci/configure_fedora39_asan.cmake deleted file mode 100644 index 872517c..0000000 --- a/.gitlab/ci/configure_fedora39_asan.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(CMAKE_C_FLAGS "-fsanitize=address" CACHE STRING "") -set(CMAKE_CXX_FLAGS "-fsanitize=address" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_clang_analyzer.cmake b/.gitlab/ci/configure_fedora39_clang_analyzer.cmake deleted file mode 100644 index 1bfb3fb..0000000 --- a/.gitlab/ci/configure_fedora39_clang_analyzer.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(configure_no_sccache 1) - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_common.cmake b/.gitlab/ci/configure_fedora39_common.cmake deleted file mode 100644 index 4484e26..0000000 --- a/.gitlab/ci/configure_fedora39_common.cmake +++ /dev/null @@ -1,7 +0,0 @@ -set(BUILD_CursesDialog ON CACHE BOOL "") -set(BUILD_QtDialog ON CACHE BOOL "") -set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") -set(CMake_TEST_JQ "/usr/bin/jq" CACHE PATH "") -set(CMake_TEST_JSON_SCHEMA ON CACHE BOOL "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_common_clang.cmake b/.gitlab/ci/configure_fedora39_common_clang.cmake deleted file mode 100644 index 1b3835a..0000000 --- a/.gitlab/ci/configure_fedora39_common_clang.cmake +++ /dev/null @@ -1,5 +0,0 @@ -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 "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora39_extdeps.cmake b/.gitlab/ci/configure_fedora39_extdeps.cmake deleted file mode 100644 index 8e545f5..0000000 --- a/.gitlab/ci/configure_fedora39_extdeps.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/configure_extdeps_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_makefiles.cmake b/.gitlab/ci/configure_fedora39_makefiles.cmake deleted file mode 100644 index 90d8343..0000000 --- a/.gitlab/ci/configure_fedora39_makefiles.cmake +++ /dev/null @@ -1,112 +0,0 @@ -set(CMake_TEST_C_STANDARDS "90;99;11;17;23" CACHE STRING "") -set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23" CACHE STRING "") - -set(CMake_TEST_CTestUpdate_BZR "ON" CACHE BOOL "") -set(CMake_TEST_CTestUpdate_GIT "ON" CACHE BOOL "") -set(CMake_TEST_CTestUpdate_HG "ON" CACHE BOOL "") -set(CMake_TEST_CTestUpdate_SVN "ON" CACHE BOOL "") -if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") - set(CMake_TEST_CTestUpdate_P4 "ON" CACHE BOOL "") -endif() - -set(CMake_TEST_ASM_NASM "ON" CACHE BOOL "") -set(CMake_TEST_FindALSA "ON" CACHE BOOL "") -set(CMake_TEST_FindBacktrace "ON" CACHE BOOL "") -set(CMake_TEST_FindBLAS "All;static=1;Generic" CACHE STRING "") -set(CMake_TEST_FindBoost "ON" CACHE BOOL "") -set(CMake_TEST_FindBoost_Python "ON" CACHE BOOL "") -set(CMake_TEST_FindBZip2 "ON" CACHE BOOL "") -set(CMake_TEST_FindCups "ON" CACHE BOOL "") -set(CMake_TEST_FindCURL "ON" CACHE BOOL "") -set(CMake_TEST_FindDevIL "ON" CACHE BOOL "") -set(CMake_TEST_FindDoxygen_Dot "ON" CACHE BOOL "") -set(CMake_TEST_FindDoxygen "ON" CACHE BOOL "") -set(CMake_TEST_FindEXPAT "ON" CACHE BOOL "") -set(CMake_TEST_FindFontconfig "ON" CACHE BOOL "") -set(CMake_TEST_FindFreetype "ON" CACHE BOOL "") -set(CMake_TEST_FindGDAL "ON" CACHE BOOL "") -set(CMake_TEST_FindGIF "ON" CACHE BOOL "") -set(CMake_TEST_FindGit "ON" CACHE BOOL "") -set(CMake_TEST_FindGLEW "ON" CACHE BOOL "") -set(CMake_TEST_FindGLUT "ON" CACHE BOOL "") -set(CMake_TEST_FindGnuTLS "ON" CACHE BOOL "") -set(CMake_TEST_FindGSL "ON" CACHE BOOL "") -set(CMake_TEST_FindGTest "ON" CACHE BOOL "") -set(CMake_TEST_FindGTK2 "ON" CACHE BOOL "") -set(CMake_TEST_FindHDF5 "ON" CACHE BOOL "") -set(CMake_TEST_FindHDF5_MPICH_C_COMPILER "/usr/lib64/mpich/bin/h5pcc" CACHE FILEPATH "") -# set(CMake_TEST_FindHDF5_MPICH_CXX_COMPILER "/usr/lib64/mpich/bin/h5pc++" CACHE FILEPATH "") # h5pc++ does not exist -set(CMake_TEST_FindHDF5_MPICH_ENVMOD "PATH=path_list_prepend:/usr/lib64/mpich/bin;LD_LIBRARY_PATH=path_list_prepend:/usr/lib64/mpich/lib" CACHE STRING "") -set(CMake_TEST_FindHDF5_MPICH_Fortran_COMPILER "/usr/lib64/mpich/bin/h5pfc" CACHE FILEPATH "") -set(CMake_TEST_FindHDF5_OpenMPI_C_COMPILER "/usr/lib64/openmpi/bin/h5pcc" CACHE FILEPATH "") -set(CMake_TEST_FindHDF5_OpenMPI_ENVMOD "PATH=path_list_prepend:/usr/lib64/openmpi/bin;LD_LIBRARY_PATH=path_list_prepend:/usr/lib64/openmpi/lib" CACHE STRING "") -# set(CMake_TEST_FindHDF5_OpenMPI_CXX_COMPILER "/usr/lib64/openmpi/bin/h5pc++" CACHE FILEPATH "") # h5pc++ does not exist -set(CMake_TEST_FindHDF5_OpenMPI_Fortran_COMPILER "/usr/lib64/openmpi/bin/h5pfc" CACHE FILEPATH "") -set(CMake_TEST_FindHDF5_Serial_C_COMPILER "/usr/bin/h5cc" CACHE FILEPATH "") -set(CMake_TEST_FindHDF5_Serial_CXX_COMPILER "/usr/bin/h5c++" CACHE FILEPATH "") -set(CMake_TEST_FindHDF5_Serial_Fortran_COMPILER "/usr/bin/h5fc" CACHE FILEPATH "") -set(CMake_TEST_FindIconv "ON" CACHE BOOL "") -set(CMake_TEST_FindICU "ON" CACHE BOOL "") -set(CMake_TEST_FindImageMagick "ON" CACHE BOOL "") -set(CMake_TEST_FindIntl "ON" CACHE BOOL "") -set(CMake_TEST_FindJasper "ON" CACHE BOOL "") -set(CMake_TEST_FindJNI "ON" CACHE BOOL "") -set(CMake_TEST_FindJPEG "ON" CACHE BOOL "") -set(CMake_TEST_FindJsonCpp "ON" CACHE BOOL "") -set(CMake_TEST_FindLAPACK "All;static=1;Generic" CACHE STRING "") -set(CMake_TEST_FindLibArchive "ON" CACHE BOOL "") -set(CMake_TEST_FindLibinput "ON" CACHE BOOL "") -set(CMake_TEST_FindLibLZMA "ON" CACHE BOOL "") -set(CMake_TEST_FindLibUV "ON" CACHE BOOL "") -set(CMake_TEST_FindLibXml2 "ON" CACHE BOOL "") -set(CMake_TEST_FindLibXslt "ON" CACHE BOOL "") -set(CMake_TEST_FindMPI_C "ON" CACHE BOOL "") -set(CMake_TEST_FindMPI_CXX "ON" CACHE BOOL "") -set(CMake_TEST_FindMPI_Fortran "ON" CACHE BOOL "") -set(CMake_TEST_FindMPI_ENVMOD "PATH=path_list_prepend:/usr/lib64/mpich/bin;LD_LIBRARY_PATH=path_list_prepend:/usr/lib64/mpich/lib;FI_PROVIDER=set:tcp" CACHE STRING "") -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 "") -set(CMake_TEST_FindPostgreSQL "ON" CACHE BOOL "") -set(CMake_TEST_FindProtobuf "ON" CACHE BOOL "") -set(CMake_TEST_FindProtobuf_gRPC "ON" CACHE BOOL "") -set(CMake_TEST_FindPython2 "ON" CACHE BOOL "") -set(CMake_TEST_FindPython3 "ON" CACHE BOOL "") -set(CMake_TEST_FindPython2_NumPy "ON" CACHE BOOL "") -set(CMake_TEST_FindPython3_NumPy "ON" CACHE BOOL "") -set(CMake_TEST_FindPython2_PyPy "ON" CACHE BOOL "") -set(CMake_TEST_FindPython3_PyPy "ON" CACHE BOOL "") -set(CMake_TEST_FindRuby "ON" CACHE BOOL "") -set(CMake_TEST_FindRuby_RVM "ON" CACHE BOOL "") -set(CMake_TEST_FindSDL "ON" CACHE BOOL "") -set(CMake_TEST_FindSQLite3 "ON" CACHE BOOL "") -set(CMake_TEST_FindTIFF "ON" CACHE BOOL "") -set(CMake_TEST_FindwxWidgets "ON" CACHE BOOL "") -set(CMake_TEST_FindX11 "ON" CACHE BOOL "") -set(CMake_TEST_FindXalanC "ON" CACHE BOOL "") -set(CMake_TEST_FindXercesC "ON" CACHE BOOL "") - -set(CMake_TEST_ELF_LARGE "ON" CACHE BOOL "") -set(CMake_TEST_Fortran_SUBMODULES "ON" CACHE BOOL "") -set(CMake_TEST_IPO_WORKS_C "ON" CACHE BOOL "") -set(CMake_TEST_IPO_WORKS_CXX "ON" CACHE BOOL "") -set(CMake_TEST_IPO_WORKS_Fortran "ON" CACHE BOOL "") -if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") - set(CMake_TEST_ISPC "ON" CACHE STRING "") -endif() -set(CMake_TEST_Qt5 "ON" CACHE BOOL "") -set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "") -set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "") -set(CMake_TEST_UseSWIG "ON" CACHE BOOL "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora39_makefiles_clang.cmake b/.gitlab/ci/configure_fedora39_makefiles_clang.cmake deleted file mode 100644 index a85ae70..0000000 --- a/.gitlab/ci/configure_fedora39_makefiles_clang.cmake +++ /dev/null @@ -1,5 +0,0 @@ -if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") - set(CMAKE_TESTS_CDASH_SERVER "https://open.cdash.org" CACHE STRING "") -endif() - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora39_makefiles_symlinked.cmake b/.gitlab/ci/configure_fedora39_makefiles_symlinked.cmake deleted file mode 100644 index b53ab66..0000000 --- a/.gitlab/ci/configure_fedora39_makefiles_symlinked.cmake +++ /dev/null @@ -1,2 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja.cmake b/.gitlab/ci/configure_fedora39_ninja.cmake deleted file mode 100644 index 8d04bde..0000000 --- a/.gitlab/ci/configure_fedora39_ninja.cmake +++ /dev/null @@ -1,15 +0,0 @@ -set(CMake_TEST_GUI "ON" CACHE BOOL "") -if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") - set(CMake_TEST_ISPC "ON" CACHE STRING "") -endif() -set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "") -set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "") - -# "Release" flags without "-DNDEBUG" so we get assertions. -set(CMAKE_C_FLAGS_RELEASE "-O3" CACHE STRING "") -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_fedora39_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja_clang.cmake b/.gitlab/ci/configure_fedora39_ninja_clang.cmake deleted file mode 100644 index 79d3eaa..0000000 --- a/.gitlab/ci/configure_fedora39_ninja_clang.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja_multi.cmake b/.gitlab/ci/configure_fedora39_ninja_multi.cmake deleted file mode 100644 index 94af721..0000000 --- a/.gitlab/ci/configure_fedora39_ninja_multi.cmake +++ /dev/null @@ -1,5 +0,0 @@ -if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") - set(CMake_TEST_ISPC "ON" CACHE STRING "") -endif() - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja_multi_clang.cmake b/.gitlab/ci/configure_fedora39_ninja_multi_clang.cmake deleted file mode 100644 index 79d3eaa..0000000 --- a/.gitlab/ci/configure_fedora39_ninja_multi_clang.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora39_sphinx.cmake b/.gitlab/ci/configure_fedora39_sphinx.cmake deleted file mode 100644 index 90d159b..0000000 --- a/.gitlab/ci/configure_fedora39_sphinx.cmake +++ /dev/null @@ -1,2 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/configure_sphinx.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_sphinx_package.cmake b/.gitlab/ci/configure_fedora39_sphinx_package.cmake deleted file mode 100644 index e839de8..0000000 --- a/.gitlab/ci/configure_fedora39_sphinx_package.cmake +++ /dev/null @@ -1,13 +0,0 @@ -# Disable formats not wanted in the package's documentation. -set(SPHINX_INFO OFF CACHE BOOL "") -set(SPHINX_SINGLEHTML OFF CACHE BOOL "") -set(SPHINX_TEXT OFF CACHE BOOL "") - -# Set the destination directory for docs that packages expect. -set(CMAKE_DOC_DIR "doc/cmake" CACHE STRING "") - -# Use a custom prefix to avoid conflicting with other builds. -set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install-doc" CACHE PATH "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_sphinx.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_tidy.cmake b/.gitlab/ci/configure_fedora39_tidy.cmake deleted file mode 100644 index 7a3eaa6..0000000 --- a/.gitlab/ci/configure_fedora39_tidy.cmake +++ /dev/null @@ -1,6 +0,0 @@ -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 "") -set(CMake_CLANG_TIDY_EXPORT_FIXES_DIR "$ENV{CI_PROJECT_DIR}/.gitlab/clang-tidy-fixes" CACHE PATH "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_asan.cmake b/.gitlab/ci/configure_fedora40_asan.cmake new file mode 100644 index 0000000..ccdba4e --- /dev/null +++ b/.gitlab/ci/configure_fedora40_asan.cmake @@ -0,0 +1,4 @@ +set(CMAKE_C_FLAGS "-fsanitize=address" CACHE STRING "") +set(CMAKE_CXX_FLAGS "-fsanitize=address" CACHE STRING "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_clang_analyzer.cmake b/.gitlab/ci/configure_fedora40_clang_analyzer.cmake new file mode 100644 index 0000000..c210126 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_clang_analyzer.cmake @@ -0,0 +1,3 @@ +set(configure_no_sccache 1) + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_common.cmake b/.gitlab/ci/configure_fedora40_common.cmake new file mode 100644 index 0000000..4484e26 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_common.cmake @@ -0,0 +1,7 @@ +set(BUILD_CursesDialog ON CACHE BOOL "") +set(BUILD_QtDialog ON CACHE BOOL "") +set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") +set(CMake_TEST_JQ "/usr/bin/jq" CACHE PATH "") +set(CMake_TEST_JSON_SCHEMA ON CACHE BOOL "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_common_clang.cmake b/.gitlab/ci/configure_fedora40_common_clang.cmake new file mode 100644 index 0000000..1b3835a --- /dev/null +++ b/.gitlab/ci/configure_fedora40_common_clang.cmake @@ -0,0 +1,5 @@ +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 "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora40_extdeps.cmake b/.gitlab/ci/configure_fedora40_extdeps.cmake new file mode 100644 index 0000000..8e545f5 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_extdeps.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_extdeps_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_makefiles.cmake b/.gitlab/ci/configure_fedora40_makefiles.cmake new file mode 100644 index 0000000..90d8343 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_makefiles.cmake @@ -0,0 +1,112 @@ +set(CMake_TEST_C_STANDARDS "90;99;11;17;23" CACHE STRING "") +set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23" CACHE STRING "") + +set(CMake_TEST_CTestUpdate_BZR "ON" CACHE BOOL "") +set(CMake_TEST_CTestUpdate_GIT "ON" CACHE BOOL "") +set(CMake_TEST_CTestUpdate_HG "ON" CACHE BOOL "") +set(CMake_TEST_CTestUpdate_SVN "ON" CACHE BOOL "") +if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") + set(CMake_TEST_CTestUpdate_P4 "ON" CACHE BOOL "") +endif() + +set(CMake_TEST_ASM_NASM "ON" CACHE BOOL "") +set(CMake_TEST_FindALSA "ON" CACHE BOOL "") +set(CMake_TEST_FindBacktrace "ON" CACHE BOOL "") +set(CMake_TEST_FindBLAS "All;static=1;Generic" CACHE STRING "") +set(CMake_TEST_FindBoost "ON" CACHE BOOL "") +set(CMake_TEST_FindBoost_Python "ON" CACHE BOOL "") +set(CMake_TEST_FindBZip2 "ON" CACHE BOOL "") +set(CMake_TEST_FindCups "ON" CACHE BOOL "") +set(CMake_TEST_FindCURL "ON" CACHE BOOL "") +set(CMake_TEST_FindDevIL "ON" CACHE BOOL "") +set(CMake_TEST_FindDoxygen_Dot "ON" CACHE BOOL "") +set(CMake_TEST_FindDoxygen "ON" CACHE BOOL "") +set(CMake_TEST_FindEXPAT "ON" CACHE BOOL "") +set(CMake_TEST_FindFontconfig "ON" CACHE BOOL "") +set(CMake_TEST_FindFreetype "ON" CACHE BOOL "") +set(CMake_TEST_FindGDAL "ON" CACHE BOOL "") +set(CMake_TEST_FindGIF "ON" CACHE BOOL "") +set(CMake_TEST_FindGit "ON" CACHE BOOL "") +set(CMake_TEST_FindGLEW "ON" CACHE BOOL "") +set(CMake_TEST_FindGLUT "ON" CACHE BOOL "") +set(CMake_TEST_FindGnuTLS "ON" CACHE BOOL "") +set(CMake_TEST_FindGSL "ON" CACHE BOOL "") +set(CMake_TEST_FindGTest "ON" CACHE BOOL "") +set(CMake_TEST_FindGTK2 "ON" CACHE BOOL "") +set(CMake_TEST_FindHDF5 "ON" CACHE BOOL "") +set(CMake_TEST_FindHDF5_MPICH_C_COMPILER "/usr/lib64/mpich/bin/h5pcc" CACHE FILEPATH "") +# set(CMake_TEST_FindHDF5_MPICH_CXX_COMPILER "/usr/lib64/mpich/bin/h5pc++" CACHE FILEPATH "") # h5pc++ does not exist +set(CMake_TEST_FindHDF5_MPICH_ENVMOD "PATH=path_list_prepend:/usr/lib64/mpich/bin;LD_LIBRARY_PATH=path_list_prepend:/usr/lib64/mpich/lib" CACHE STRING "") +set(CMake_TEST_FindHDF5_MPICH_Fortran_COMPILER "/usr/lib64/mpich/bin/h5pfc" CACHE FILEPATH "") +set(CMake_TEST_FindHDF5_OpenMPI_C_COMPILER "/usr/lib64/openmpi/bin/h5pcc" CACHE FILEPATH "") +set(CMake_TEST_FindHDF5_OpenMPI_ENVMOD "PATH=path_list_prepend:/usr/lib64/openmpi/bin;LD_LIBRARY_PATH=path_list_prepend:/usr/lib64/openmpi/lib" CACHE STRING "") +# set(CMake_TEST_FindHDF5_OpenMPI_CXX_COMPILER "/usr/lib64/openmpi/bin/h5pc++" CACHE FILEPATH "") # h5pc++ does not exist +set(CMake_TEST_FindHDF5_OpenMPI_Fortran_COMPILER "/usr/lib64/openmpi/bin/h5pfc" CACHE FILEPATH "") +set(CMake_TEST_FindHDF5_Serial_C_COMPILER "/usr/bin/h5cc" CACHE FILEPATH "") +set(CMake_TEST_FindHDF5_Serial_CXX_COMPILER "/usr/bin/h5c++" CACHE FILEPATH "") +set(CMake_TEST_FindHDF5_Serial_Fortran_COMPILER "/usr/bin/h5fc" CACHE FILEPATH "") +set(CMake_TEST_FindIconv "ON" CACHE BOOL "") +set(CMake_TEST_FindICU "ON" CACHE BOOL "") +set(CMake_TEST_FindImageMagick "ON" CACHE BOOL "") +set(CMake_TEST_FindIntl "ON" CACHE BOOL "") +set(CMake_TEST_FindJasper "ON" CACHE BOOL "") +set(CMake_TEST_FindJNI "ON" CACHE BOOL "") +set(CMake_TEST_FindJPEG "ON" CACHE BOOL "") +set(CMake_TEST_FindJsonCpp "ON" CACHE BOOL "") +set(CMake_TEST_FindLAPACK "All;static=1;Generic" CACHE STRING "") +set(CMake_TEST_FindLibArchive "ON" CACHE BOOL "") +set(CMake_TEST_FindLibinput "ON" CACHE BOOL "") +set(CMake_TEST_FindLibLZMA "ON" CACHE BOOL "") +set(CMake_TEST_FindLibUV "ON" CACHE BOOL "") +set(CMake_TEST_FindLibXml2 "ON" CACHE BOOL "") +set(CMake_TEST_FindLibXslt "ON" CACHE BOOL "") +set(CMake_TEST_FindMPI_C "ON" CACHE BOOL "") +set(CMake_TEST_FindMPI_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindMPI_Fortran "ON" CACHE BOOL "") +set(CMake_TEST_FindMPI_ENVMOD "PATH=path_list_prepend:/usr/lib64/mpich/bin;LD_LIBRARY_PATH=path_list_prepend:/usr/lib64/mpich/lib;FI_PROVIDER=set:tcp" CACHE STRING "") +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 "") +set(CMake_TEST_FindPostgreSQL "ON" CACHE BOOL "") +set(CMake_TEST_FindProtobuf "ON" CACHE BOOL "") +set(CMake_TEST_FindProtobuf_gRPC "ON" CACHE BOOL "") +set(CMake_TEST_FindPython2 "ON" CACHE BOOL "") +set(CMake_TEST_FindPython3 "ON" CACHE BOOL "") +set(CMake_TEST_FindPython2_NumPy "ON" CACHE BOOL "") +set(CMake_TEST_FindPython3_NumPy "ON" CACHE BOOL "") +set(CMake_TEST_FindPython2_PyPy "ON" CACHE BOOL "") +set(CMake_TEST_FindPython3_PyPy "ON" CACHE BOOL "") +set(CMake_TEST_FindRuby "ON" CACHE BOOL "") +set(CMake_TEST_FindRuby_RVM "ON" CACHE BOOL "") +set(CMake_TEST_FindSDL "ON" CACHE BOOL "") +set(CMake_TEST_FindSQLite3 "ON" CACHE BOOL "") +set(CMake_TEST_FindTIFF "ON" CACHE BOOL "") +set(CMake_TEST_FindwxWidgets "ON" CACHE BOOL "") +set(CMake_TEST_FindX11 "ON" CACHE BOOL "") +set(CMake_TEST_FindXalanC "ON" CACHE BOOL "") +set(CMake_TEST_FindXercesC "ON" CACHE BOOL "") + +set(CMake_TEST_ELF_LARGE "ON" CACHE BOOL "") +set(CMake_TEST_Fortran_SUBMODULES "ON" CACHE BOOL "") +set(CMake_TEST_IPO_WORKS_C "ON" CACHE BOOL "") +set(CMake_TEST_IPO_WORKS_CXX "ON" CACHE BOOL "") +set(CMake_TEST_IPO_WORKS_Fortran "ON" CACHE BOOL "") +if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") + set(CMake_TEST_ISPC "ON" CACHE STRING "") +endif() +set(CMake_TEST_Qt5 "ON" CACHE BOOL "") +set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "") +set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "") +set(CMake_TEST_UseSWIG "ON" CACHE BOOL "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora40_makefiles_clang.cmake b/.gitlab/ci/configure_fedora40_makefiles_clang.cmake new file mode 100644 index 0000000..d5739c3 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_makefiles_clang.cmake @@ -0,0 +1,5 @@ +if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") + set(CMAKE_TESTS_CDASH_SERVER "https://open.cdash.org" CACHE STRING "") +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora40_makefiles_symlinked.cmake b/.gitlab/ci/configure_fedora40_makefiles_symlinked.cmake new file mode 100644 index 0000000..6a677fd --- /dev/null +++ b/.gitlab/ci/configure_fedora40_makefiles_symlinked.cmake @@ -0,0 +1,2 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja.cmake b/.gitlab/ci/configure_fedora40_ninja.cmake new file mode 100644 index 0000000..263191f --- /dev/null +++ b/.gitlab/ci/configure_fedora40_ninja.cmake @@ -0,0 +1,15 @@ +set(CMake_TEST_GUI "ON" CACHE BOOL "") +if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") + set(CMake_TEST_ISPC "ON" CACHE STRING "") +endif() +set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "") +set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "") + +# "Release" flags without "-DNDEBUG" so we get assertions. +set(CMAKE_C_FLAGS_RELEASE "-O3" CACHE STRING "") +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_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja_clang.cmake b/.gitlab/ci/configure_fedora40_ninja_clang.cmake new file mode 100644 index 0000000..c760603 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_ninja_clang.cmake @@ -0,0 +1,3 @@ +set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" CACHE STRING "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja_multi.cmake b/.gitlab/ci/configure_fedora40_ninja_multi.cmake new file mode 100644 index 0000000..94af721 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_ninja_multi.cmake @@ -0,0 +1,5 @@ +if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") + set(CMake_TEST_ISPC "ON" CACHE STRING "") +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja_multi_clang.cmake b/.gitlab/ci/configure_fedora40_ninja_multi_clang.cmake new file mode 100644 index 0000000..c760603 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_ninja_multi_clang.cmake @@ -0,0 +1,3 @@ +set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" CACHE STRING "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora40_sphinx.cmake b/.gitlab/ci/configure_fedora40_sphinx.cmake new file mode 100644 index 0000000..90d159b --- /dev/null +++ b/.gitlab/ci/configure_fedora40_sphinx.cmake @@ -0,0 +1,2 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_sphinx.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_sphinx_package.cmake b/.gitlab/ci/configure_fedora40_sphinx_package.cmake new file mode 100644 index 0000000..e839de8 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_sphinx_package.cmake @@ -0,0 +1,13 @@ +# Disable formats not wanted in the package's documentation. +set(SPHINX_INFO OFF CACHE BOOL "") +set(SPHINX_SINGLEHTML OFF CACHE BOOL "") +set(SPHINX_TEXT OFF CACHE BOOL "") + +# Set the destination directory for docs that packages expect. +set(CMAKE_DOC_DIR "doc/cmake" CACHE STRING "") + +# Use a custom prefix to avoid conflicting with other builds. +set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install-doc" CACHE PATH "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_sphinx.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_tidy.cmake b/.gitlab/ci/configure_fedora40_tidy.cmake new file mode 100644 index 0000000..037732c --- /dev/null +++ b/.gitlab/ci/configure_fedora40_tidy.cmake @@ -0,0 +1,6 @@ +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 "") +set(CMake_CLANG_TIDY_EXPORT_FIXES_DIR "$ENV{CI_PROJECT_DIR}/.gitlab/clang-tidy-fixes" CACHE PATH "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/ctest_memcheck_fedora39_asan.lsan.supp b/.gitlab/ci/ctest_memcheck_fedora39_asan.lsan.supp deleted file mode 100644 index 8ec1a03..0000000 --- a/.gitlab/ci/ctest_memcheck_fedora39_asan.lsan.supp +++ /dev/null @@ -1 +0,0 @@ -# Add 'leak:' lines here to suppress known leaks. diff --git a/.gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp b/.gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp new file mode 100644 index 0000000..8ec1a03 --- /dev/null +++ b/.gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp @@ -0,0 +1 @@ +# Add 'leak:' lines here to suppress known leaks. diff --git a/.gitlab/ci/env_fedora39_asan.sh b/.gitlab/ci/env_fedora39_asan.sh deleted file mode 100644 index e976486..0000000 --- a/.gitlab/ci/env_fedora39_asan.sh +++ /dev/null @@ -1,2 +0,0 @@ -export CC=/usr/bin/clang -export CXX=/usr/bin/clang++ diff --git a/.gitlab/ci/env_fedora39_clang_analyzer.sh b/.gitlab/ci/env_fedora39_clang_analyzer.sh deleted file mode 100644 index d732c0b..0000000 --- a/.gitlab/ci/env_fedora39_clang_analyzer.sh +++ /dev/null @@ -1,2 +0,0 @@ -export CC=/usr/libexec/ccc-analyzer -export CXX=/usr/libexec/c++-analyzer diff --git a/.gitlab/ci/env_fedora39_common_clang.sh b/.gitlab/ci/env_fedora39_common_clang.sh deleted file mode 100644 index 076669b..0000000 --- a/.gitlab/ci/env_fedora39_common_clang.sh +++ /dev/null @@ -1,3 +0,0 @@ -export CC=/usr/bin/clang-17 -export CXX=/usr/bin/clang++-17 -export FC=/usr/bin/flang-new diff --git a/.gitlab/ci/env_fedora39_extdeps.sh b/.gitlab/ci/env_fedora39_extdeps.sh deleted file mode 100644 index 7076e18..0000000 --- a/.gitlab/ci/env_fedora39_extdeps.sh +++ /dev/null @@ -1 +0,0 @@ -source .gitlab/ci/env_extdeps_common.sh diff --git a/.gitlab/ci/env_fedora39_makefiles.cmake b/.gitlab/ci/env_fedora39_makefiles.cmake deleted file mode 100644 index ef13cda..0000000 --- a/.gitlab/ci/env_fedora39_makefiles.cmake +++ /dev/null @@ -1 +0,0 @@ -set(ENV{MY_RUBY_HOME} "/usr/local/rvm/rubies/ruby-3.0.4") diff --git a/.gitlab/ci/env_fedora39_makefiles.sh b/.gitlab/ci/env_fedora39_makefiles.sh deleted file mode 100644 index c482642..0000000 --- a/.gitlab/ci/env_fedora39_makefiles.sh +++ /dev/null @@ -1,8 +0,0 @@ -if test "$CMAKE_CI_NIGHTLY" = "true"; then - source .gitlab/ci/ispc-env.sh -fi - -# Patch HDF5 Fortran compiler wrappers to work around Fedora bug. -# https://bugzilla.redhat.com/show_bug.cgi?id=2183289 -sed -i '/^includedir=/ s|/mpich-x86_64||' /usr/lib64/mpich/bin/h5pfc -sed -i '/^includedir=/ s|/openmpi-x86_64||' /usr/lib64/openmpi/bin/h5pfc diff --git a/.gitlab/ci/env_fedora39_makefiles_clang.sh b/.gitlab/ci/env_fedora39_makefiles_clang.sh deleted file mode 100644 index 6200f82..0000000 --- a/.gitlab/ci/env_fedora39_makefiles_clang.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_common_clang.sh diff --git a/.gitlab/ci/env_fedora39_makefiles_symlinked.cmake b/.gitlab/ci/env_fedora39_makefiles_symlinked.cmake deleted file mode 100644 index 052e9a7..0000000 --- a/.gitlab/ci/env_fedora39_makefiles_symlinked.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/env_fedora39_makefiles.cmake") diff --git a/.gitlab/ci/env_fedora39_makefiles_symlinked.sh b/.gitlab/ci/env_fedora39_makefiles_symlinked.sh deleted file mode 100644 index 39ac189..0000000 --- a/.gitlab/ci/env_fedora39_makefiles_symlinked.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_makefiles.sh diff --git a/.gitlab/ci/env_fedora39_ninja.sh b/.gitlab/ci/env_fedora39_ninja.sh deleted file mode 100644 index 217ff30..0000000 --- a/.gitlab/ci/env_fedora39_ninja.sh +++ /dev/null @@ -1,3 +0,0 @@ -if test "$CMAKE_CI_NIGHTLY" = "true"; then - source .gitlab/ci/ispc-env.sh -fi diff --git a/.gitlab/ci/env_fedora39_ninja_clang.sh b/.gitlab/ci/env_fedora39_ninja_clang.sh deleted file mode 100644 index 6200f82..0000000 --- a/.gitlab/ci/env_fedora39_ninja_clang.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_common_clang.sh diff --git a/.gitlab/ci/env_fedora39_ninja_multi.sh b/.gitlab/ci/env_fedora39_ninja_multi.sh deleted file mode 100644 index 217ff30..0000000 --- a/.gitlab/ci/env_fedora39_ninja_multi.sh +++ /dev/null @@ -1,3 +0,0 @@ -if test "$CMAKE_CI_NIGHTLY" = "true"; then - source .gitlab/ci/ispc-env.sh -fi diff --git a/.gitlab/ci/env_fedora39_ninja_multi_clang.sh b/.gitlab/ci/env_fedora39_ninja_multi_clang.sh deleted file mode 100644 index 6200f82..0000000 --- a/.gitlab/ci/env_fedora39_ninja_multi_clang.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_common_clang.sh diff --git a/.gitlab/ci/env_fedora40_asan.sh b/.gitlab/ci/env_fedora40_asan.sh new file mode 100644 index 0000000..e976486 --- /dev/null +++ b/.gitlab/ci/env_fedora40_asan.sh @@ -0,0 +1,2 @@ +export CC=/usr/bin/clang +export CXX=/usr/bin/clang++ diff --git a/.gitlab/ci/env_fedora40_clang_analyzer.sh b/.gitlab/ci/env_fedora40_clang_analyzer.sh new file mode 100644 index 0000000..d732c0b --- /dev/null +++ b/.gitlab/ci/env_fedora40_clang_analyzer.sh @@ -0,0 +1,2 @@ +export CC=/usr/libexec/ccc-analyzer +export CXX=/usr/libexec/c++-analyzer diff --git a/.gitlab/ci/env_fedora40_common_clang.sh b/.gitlab/ci/env_fedora40_common_clang.sh new file mode 100644 index 0000000..a3861d0 --- /dev/null +++ b/.gitlab/ci/env_fedora40_common_clang.sh @@ -0,0 +1,3 @@ +export CC=/usr/bin/clang-18 +export CXX=/usr/bin/clang++-18 +export FC=/usr/bin/flang-new diff --git a/.gitlab/ci/env_fedora40_extdeps.sh b/.gitlab/ci/env_fedora40_extdeps.sh new file mode 100644 index 0000000..7076e18 --- /dev/null +++ b/.gitlab/ci/env_fedora40_extdeps.sh @@ -0,0 +1 @@ +source .gitlab/ci/env_extdeps_common.sh diff --git a/.gitlab/ci/env_fedora40_makefiles.cmake b/.gitlab/ci/env_fedora40_makefiles.cmake new file mode 100644 index 0000000..ef13cda --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles.cmake @@ -0,0 +1 @@ +set(ENV{MY_RUBY_HOME} "/usr/local/rvm/rubies/ruby-3.0.4") diff --git a/.gitlab/ci/env_fedora40_makefiles.sh b/.gitlab/ci/env_fedora40_makefiles.sh new file mode 100644 index 0000000..c482642 --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles.sh @@ -0,0 +1,8 @@ +if test "$CMAKE_CI_NIGHTLY" = "true"; then + source .gitlab/ci/ispc-env.sh +fi + +# Patch HDF5 Fortran compiler wrappers to work around Fedora bug. +# https://bugzilla.redhat.com/show_bug.cgi?id=2183289 +sed -i '/^includedir=/ s|/mpich-x86_64||' /usr/lib64/mpich/bin/h5pfc +sed -i '/^includedir=/ s|/openmpi-x86_64||' /usr/lib64/openmpi/bin/h5pfc diff --git a/.gitlab/ci/env_fedora40_makefiles_clang.sh b/.gitlab/ci/env_fedora40_makefiles_clang.sh new file mode 100644 index 0000000..2021086 --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles_clang.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_common_clang.sh diff --git a/.gitlab/ci/env_fedora40_makefiles_symlinked.cmake b/.gitlab/ci/env_fedora40_makefiles_symlinked.cmake new file mode 100644 index 0000000..d381807 --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles_symlinked.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/env_fedora40_makefiles.cmake") diff --git a/.gitlab/ci/env_fedora40_makefiles_symlinked.sh b/.gitlab/ci/env_fedora40_makefiles_symlinked.sh new file mode 100644 index 0000000..5a7584a --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles_symlinked.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_makefiles.sh diff --git a/.gitlab/ci/env_fedora40_ninja.sh b/.gitlab/ci/env_fedora40_ninja.sh new file mode 100644 index 0000000..217ff30 --- /dev/null +++ b/.gitlab/ci/env_fedora40_ninja.sh @@ -0,0 +1,3 @@ +if test "$CMAKE_CI_NIGHTLY" = "true"; then + source .gitlab/ci/ispc-env.sh +fi diff --git a/.gitlab/ci/env_fedora40_ninja_clang.sh b/.gitlab/ci/env_fedora40_ninja_clang.sh new file mode 100644 index 0000000..2021086 --- /dev/null +++ b/.gitlab/ci/env_fedora40_ninja_clang.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_common_clang.sh diff --git a/.gitlab/ci/env_fedora40_ninja_multi.sh b/.gitlab/ci/env_fedora40_ninja_multi.sh new file mode 100644 index 0000000..217ff30 --- /dev/null +++ b/.gitlab/ci/env_fedora40_ninja_multi.sh @@ -0,0 +1,3 @@ +if test "$CMAKE_CI_NIGHTLY" = "true"; then + source .gitlab/ci/ispc-env.sh +fi diff --git a/.gitlab/ci/env_fedora40_ninja_multi_clang.sh b/.gitlab/ci/env_fedora40_ninja_multi_clang.sh new file mode 100644 index 0000000..2021086 --- /dev/null +++ b/.gitlab/ci/env_fedora40_ninja_multi_clang.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_common_clang.sh diff --git a/.gitlab/ci/post_build_fedora39_tidy.sh b/.gitlab/ci/post_build_fedora39_tidy.sh deleted file mode 100644 index a36663a..0000000 --- a/.gitlab/ci/post_build_fedora39_tidy.sh +++ /dev/null @@ -1,21 +0,0 @@ -git config user.name "Kitware Robot" -git config user.email "kwrobot@kitware.com" - -clang-apply-replacements --style=file .gitlab/clang-tidy-fixes -git add . - -if [ -n "$(git status --porcelain)" ]; then - quietly git commit --file=- < - - -EOF - git format-patch --output=clang-tidy-fixes.patch -1 -N - echo "Patch from clang-tidy available, check artifacts of this CI job." >&2 -fi - -readonly num_warnings="$(cat .gitlab/num_warnings.txt)" -if [ "$num_warnings" -ne 0 ]; then - echo "Found $num_warnings warnings (treating as fatal)." >&2 - exit 1 -fi diff --git a/.gitlab/ci/post_build_fedora40_tidy.sh b/.gitlab/ci/post_build_fedora40_tidy.sh new file mode 100644 index 0000000..a36663a --- /dev/null +++ b/.gitlab/ci/post_build_fedora40_tidy.sh @@ -0,0 +1,21 @@ +git config user.name "Kitware Robot" +git config user.email "kwrobot@kitware.com" + +clang-apply-replacements --style=file .gitlab/clang-tidy-fixes +git add . + +if [ -n "$(git status --porcelain)" ]; then + quietly git commit --file=- < + + +EOF + git format-patch --output=clang-tidy-fixes.patch -1 -N + echo "Patch from clang-tidy available, check artifacts of this CI job." >&2 +fi + +readonly num_warnings="$(cat .gitlab/num_warnings.txt)" +if [ "$num_warnings" -ne 0 ]; then + echo "Found $num_warnings warnings (treating as fatal)." >&2 + exit 1 +fi diff --git a/.gitlab/ci/pre_build_fedora39_tidy.sh b/.gitlab/ci/pre_build_fedora39_tidy.sh deleted file mode 100644 index 7580ef1..0000000 --- a/.gitlab/ci/pre_build_fedora39_tidy.sh +++ /dev/null @@ -1,9 +0,0 @@ -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/pre_build_fedora40_tidy.sh b/.gitlab/ci/pre_build_fedora40_tidy.sh new file mode 100644 index 0000000..7580ef1 --- /dev/null +++ b/.gitlab/ci/pre_build_fedora40_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/os-linux.yml b/.gitlab/os-linux.yml index de1d64b..2d0fcfd 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -5,7 +5,7 @@ ### Release .linux_prep_source: - image: "fedora:39" + image: "fedora:40" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" @@ -68,13 +68,14 @@ ### Fedora -.fedora39: - image: "kitware/cmake:ci-fedora39-x86_64-2024-04-10" +.fedora40: + image: "kitware/cmake:ci-fedora40-x86_64-2024-04-24" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" CMAKE_ARCH: x86_64 +# FIXME(#25932): Our HIP tests do not fully work in CI with Fedora 40. .fedora39_hip: image: "kitware/cmake:ci-fedora39-hip-x86_64-2024-04-24" @@ -84,36 +85,36 @@ #### Lint builds -.fedora39_tidy: - extends: .fedora39 +.fedora40_tidy: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_tidy + CMAKE_CONFIGURATION: fedora40_tidy CMAKE_CI_NO_INSTALL: 1 -.fedora39_clang_analyzer: - extends: .fedora39 +.fedora40_clang_analyzer: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_clang_analyzer + CMAKE_CONFIGURATION: fedora40_clang_analyzer CMAKE_CI_BUILD_TYPE: Debug CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_CI_NO_INSTALL: 1 -.fedora39_sphinx: - extends: .fedora39 +.fedora40_sphinx: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_sphinx + CMAKE_CONFIGURATION: fedora40_sphinx CTEST_NO_WARNINGS_ALLOWED: 1 CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" CMAKE_CI_NO_INSTALL: 1 -.fedora39_sphinx_package: - extends: .fedora39 +.fedora40_sphinx_package: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_sphinx_package + CMAKE_CONFIGURATION: fedora40_sphinx_package CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" #### Build and test @@ -169,43 +170,43 @@ CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora39_extdeps: - extends: .fedora39 +.fedora40_extdeps: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_extdeps + CMAKE_CONFIGURATION: fedora40_extdeps CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora39_ninja: - extends: .fedora39 +.fedora40_ninja: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja + CMAKE_CONFIGURATION: fedora40_ninja CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora39_ninja_multi: - extends: .fedora39 +.fedora40_ninja_multi: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja_multi + CMAKE_CONFIGURATION: fedora40_ninja_multi CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Ninja Multi-Config" -.fedora39_makefiles: - extends: .fedora39 +.fedora40_makefiles: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_makefiles + CMAKE_CONFIGURATION: fedora40_makefiles CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Unix Makefiles" -.fedora39_makefiles_symlinked: - extends: .fedora39 +.fedora40_makefiles_symlinked: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_makefiles_symlinked + CMAKE_CONFIGURATION: fedora40_makefiles_symlinked CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Unix Makefiles" CMAKE_CI_IN_SYMLINK_TREE: 1 @@ -226,24 +227,24 @@ variables: CMAKE_CONFIGURATION: debian12_ninja_clang -.fedora39_makefiles_clang: - extends: .fedora39 +.fedora40_makefiles_clang: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_makefiles_clang + CMAKE_CONFIGURATION: fedora40_makefiles_clang CMAKE_GENERATOR: "Unix Makefiles" -.fedora39_ninja_clang: - extends: .fedora39 +.fedora40_ninja_clang: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja_clang + CMAKE_CONFIGURATION: fedora40_ninja_clang -.fedora39_ninja_multi_clang: - extends: .fedora39 +.fedora40_ninja_multi_clang: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja_multi_clang + CMAKE_CONFIGURATION: fedora40_ninja_multi_clang CMAKE_GENERATOR: "Ninja Multi-Config" ### Sanitizers @@ -259,13 +260,13 @@ CTEST_MEMORYCHECK_TYPE: AddressSanitizer CTEST_MEMORYCHECK_SANITIZER_OPTIONS: "" -.fedora39_asan: +.fedora40_asan: extends: - - .fedora39 + - .fedora40 - .fedora_asan_addon variables: - CMAKE_CONFIGURATION: fedora39_asan + CMAKE_CONFIGURATION: fedora40_asan ### Intel Compiler @@ -546,7 +547,7 @@ .cmake_codespell_linux: stage: build - extends: .fedora39 + extends: .fedora40 script: - .gitlab/ci/codespell.sh interruptible: true @@ -689,7 +690,7 @@ .cmake_org_help: stage: build extends: - - .fedora39 + - .fedora40 - .linux_x86_64_tags - .cmake_org_help_artifacts script: diff --git a/.gitlab/upload.yml b/.gitlab/upload.yml index 56793af..6b46313 100644 --- a/.gitlab/upload.yml +++ b/.gitlab/upload.yml @@ -1,7 +1,7 @@ # Steps for uploading artifacts .rsync_upload_package: - image: "fedora:39" + image: "fedora:40" stage: upload tags: - cmake @@ -21,7 +21,7 @@ .rsync_upload_help: stage: upload - image: "fedora:39" + image: "fedora:40" tags: - cmake - docker -- cgit v0.12 From 4590255c63541d23323cf20d3628d46615c58623 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Apr 2024 14:13:20 -0400 Subject: ci: Subsume GCC C++ modules testing in main Fedora jobs Fedora 40 comes with a RedHat branch of GCC 14.0, which supports the features we need for C++ modules. --- .gitlab-ci.yml | 20 ----------------- .gitlab/ci/configure_fedora40_ninja.cmake | 1 + .gitlab/ci/configure_fedora40_ninja_multi.cmake | 1 + .../ci/configure_linux_gcc_cxx_modules_ninja.cmake | 3 --- ...nfigure_linux_gcc_cxx_modules_ninja_multi.cmake | 3 --- .gitlab/ci/docker/gcc_cxx_modules/Dockerfile | 9 -------- .gitlab/ci/docker/gcc_cxx_modules/install_deps.sh | 7 ------ .gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh | 25 ---------------------- .gitlab/os-linux.yml | 24 --------------------- 9 files changed, 2 insertions(+), 91 deletions(-) delete mode 100644 .gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake delete mode 100644 .gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake delete mode 100644 .gitlab/ci/docker/gcc_cxx_modules/Dockerfile delete mode 100755 .gitlab/ci/docker/gcc_cxx_modules/install_deps.sh delete mode 100755 .gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fb9484e..a3d959c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -406,26 +406,6 @@ t:hip5.5-radeon: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:linux-gcc-cxx-modules-ninja: - extends: - - .gcc_cxx_modules_ninja - - .cmake_test_linux_release - - .linux_x86_64_tags - - .run_dependent - - .needs_centos7_x86_64 - variables: - CMAKE_CI_JOB_NIGHTLY: "true" - -t:linux-gcc-cxx-modules-ninja-multi: - extends: - - .gcc_cxx_modules_ninja_multi - - .cmake_test_linux_release - - .linux_x86_64_tags - - .run_dependent - - .needs_centos7_x86_64 - variables: - CMAKE_CI_JOB_NIGHTLY: "true" - t:debian10-legacy: extends: - .debian10_legacy diff --git a/.gitlab/ci/configure_fedora40_ninja.cmake b/.gitlab/ci/configure_fedora40_ninja.cmake index 263191f..b16e928 100644 --- a/.gitlab/ci/configure_fedora40_ninja.cmake +++ b/.gitlab/ci/configure_fedora40_ninja.cmake @@ -2,6 +2,7 @@ set(CMake_TEST_GUI "ON" CACHE BOOL "") if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") set(CMake_TEST_ISPC "ON" CACHE STRING "") endif() +set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" CACHE STRING "") set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "") set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "") diff --git a/.gitlab/ci/configure_fedora40_ninja_multi.cmake b/.gitlab/ci/configure_fedora40_ninja_multi.cmake index 94af721..f77606e 100644 --- a/.gitlab/ci/configure_fedora40_ninja_multi.cmake +++ b/.gitlab/ci/configure_fedora40_ninja_multi.cmake @@ -1,5 +1,6 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") set(CMake_TEST_ISPC "ON" CACHE STRING "") endif() +set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" 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 deleted file mode 100644 index f0ba9eb..0000000 --- a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,bmionly" 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 deleted file mode 100644 index f0ba9eb..0000000 --- a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,bmionly" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile b/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile deleted file mode 100644 index d8e8238..0000000 --- a/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM fedora:38 -MAINTAINER Ben Boeckel - -# 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 deleted file mode 100755 index b8b706b..0000000 --- a/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/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 deleted file mode 100755 index 15cfe39..0000000 --- a/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -set -e - -readonly revision="29862e21f6d656eca59284c927d0c4c0698eb99c" # master as of 21 Sep 2023 -readonly tarball="git://gcc.gnu.org/git/gcc.git" - -readonly workdir="$HOME/gcc" -readonly srcdir="$workdir/gcc" -readonly builddir="$workdir/build" -readonly njobs="$( nproc )" - -mkdir -p "$workdir" -cd "$workdir" -git clone "$tarball" "$srcdir" -git -C "$srcdir" checkout "$revision" -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/os-linux.yml b/.gitlab/os-linux.yml index 2d0fcfd..f9fd6c2 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -431,30 +431,6 @@ CMAKE_CONFIGURATION: hip5.5_nvidia CTEST_LABELS: "HIP" -### C++ modules - -.gcc_cxx_modules_x86_64: - image: "kitware/cmake:ci-gcc_cxx_modules-x86_64-2023-09-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 - -.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" - ### Debian 10 legacy packages .debian10: -- cgit v0.12 From b84b0fdd89d9eef543503f8ca6d09a5bb4d162c6 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Apr 2024 14:19:38 -0400 Subject: ci: Enable FindOpenMP tests in LLVM/Clang jobs on Fedora --- .gitlab/ci/configure_fedora40_common_clang.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab/ci/configure_fedora40_common_clang.cmake b/.gitlab/ci/configure_fedora40_common_clang.cmake index 1b3835a..6c98ef6 100644 --- a/.gitlab/ci/configure_fedora40_common_clang.cmake +++ b/.gitlab/ci/configure_fedora40_common_clang.cmake @@ -2,4 +2,9 @@ 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_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 "") + include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") -- cgit v0.12 From c722bde0e33e64976a2202dd508cdeb9c7801ce7 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 24 Apr 2024 10:56:53 -0400 Subject: ci: Enable FindOpenACC test for each language independently --- .gitlab/ci/configure_debian12_aarch64_ninja.cmake | 3 +++ .gitlab/ci/configure_debian12_ninja_common.cmake | 3 +++ .gitlab/ci/configure_fedora40_makefiles.cmake | 3 +++ Tests/FindOpenACC/CMakeLists.txt | 10 ++-------- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitlab/ci/configure_debian12_aarch64_ninja.cmake b/.gitlab/ci/configure_debian12_aarch64_ninja.cmake index 0e2c991..24be975 100644 --- a/.gitlab/ci/configure_debian12_aarch64_ninja.cmake +++ b/.gitlab/ci/configure_debian12_aarch64_ninja.cmake @@ -64,6 +64,9 @@ 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_FindOpenACC_C "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_Fortran "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 "") diff --git a/.gitlab/ci/configure_debian12_ninja_common.cmake b/.gitlab/ci/configure_debian12_ninja_common.cmake index b3a97f6..98ae771 100644 --- a/.gitlab/ci/configure_debian12_ninja_common.cmake +++ b/.gitlab/ci/configure_debian12_ninja_common.cmake @@ -69,6 +69,9 @@ 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_FindOpenACC_C "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_Fortran "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 "") diff --git a/.gitlab/ci/configure_fedora40_makefiles.cmake b/.gitlab/ci/configure_fedora40_makefiles.cmake index 90d8343..8b2373c 100644 --- a/.gitlab/ci/configure_fedora40_makefiles.cmake +++ b/.gitlab/ci/configure_fedora40_makefiles.cmake @@ -67,6 +67,9 @@ set(CMake_TEST_FindMPI_ENVMOD "PATH=path_list_prepend:/usr/lib64/mpich/bin;LD_LI set(CMake_TEST_FindMPI "ON" CACHE BOOL "") set(CMake_TEST_FindODBC "ON" CACHE BOOL "") set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_C "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_Fortran "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 "") diff --git a/Tests/FindOpenACC/CMakeLists.txt b/Tests/FindOpenACC/CMakeLists.txt index ef7de65..1b6bcf2 100644 --- a/Tests/FindOpenACC/CMakeLists.txt +++ b/Tests/FindOpenACC/CMakeLists.txt @@ -1,11 +1,5 @@ - -set(langs C CXX) -if(NOT CMAKE_GENERATOR STREQUAL "Ninja") - list(APPEND langs Fortran) -endif() - -foreach(lang IN LISTS langs) - if(CMAKE_${lang}_COMPILER) +foreach(lang IN ITEMS C CXX Fortran) + if(CMake_TEST_FindOpenACC_${lang}) add_test(NAME FindOpenACC.Test${lang} COMMAND ${CMAKE_CTEST_COMMAND} -C $ --build-and-test -- cgit v0.12 From b05f94fa10d4bf6b80afaff8c4bb0857b67c717e Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 24 Apr 2024 12:02:19 -0400 Subject: ci: Enable FindOpenACC tests in LLVM/Clang jobs on Fedora Test commit 30962830dc (FindOpenACC: Add support for the Clang Compiler, 2024-02-01, v3.29.0-rc1~37^2) now that we have Clang 18. --- .gitlab/ci/configure_fedora40_common_clang.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab/ci/configure_fedora40_common_clang.cmake b/.gitlab/ci/configure_fedora40_common_clang.cmake index 6c98ef6..9fdc6bc 100644 --- a/.gitlab/ci/configure_fedora40_common_clang.cmake +++ b/.gitlab/ci/configure_fedora40_common_clang.cmake @@ -2,6 +2,10 @@ 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_TEST_FindOpenACC "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_C "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_Fortran "OFF" CACHE BOOL "") # flang-new fails producing LLVM IR set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "") set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "") set(CMake_TEST_FindOpenMP_Fortran "ON" CACHE BOOL "") -- cgit v0.12 From acf1179e74ff79b1ca415224cbaa114de30780f7 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 23 Apr 2024 14:28:43 -0400 Subject: ci: Verify that C++26 modes work with GCC and Clang on Fedora --- .gitlab/ci/configure_fedora40_common_clang.cmake | 3 +++ .gitlab/ci/configure_fedora40_makefiles.cmake | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/configure_fedora40_common_clang.cmake b/.gitlab/ci/configure_fedora40_common_clang.cmake index 9fdc6bc..a4ae3f3 100644 --- a/.gitlab/ci/configure_fedora40_common_clang.cmake +++ b/.gitlab/ci/configure_fedora40_common_clang.cmake @@ -2,6 +2,9 @@ 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_TEST_C_STANDARDS "90;99;11;17;23" CACHE STRING "") +set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "") + set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "") set(CMake_TEST_FindOpenACC_C "ON" CACHE BOOL "") set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_fedora40_makefiles.cmake b/.gitlab/ci/configure_fedora40_makefiles.cmake index 8b2373c..478ba11 100644 --- a/.gitlab/ci/configure_fedora40_makefiles.cmake +++ b/.gitlab/ci/configure_fedora40_makefiles.cmake @@ -1,5 +1,5 @@ set(CMake_TEST_C_STANDARDS "90;99;11;17;23" CACHE STRING "") -set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23" CACHE STRING "") +set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "") set(CMake_TEST_CTestUpdate_BZR "ON" CACHE BOOL "") set(CMake_TEST_CTestUpdate_GIT "ON" CACHE BOOL "") -- cgit v0.12