mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-09 23:59:53 -05:00
ci: Subsume Clang C++ modules testing in main Fedora+Clang jobs
Fedora 38 comes with LLVM/Clang 16.0, which supports the features we need for C++ modules.
This commit is contained in:
+10
-20
@@ -205,6 +205,16 @@ t:fedora38-ninja-clang:
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:fedora38-ninja-multi-clang:
|
||||
extends:
|
||||
- .fedora38_ninja_multi_clang
|
||||
- .cmake_test_linux_release
|
||||
- .linux_x86_64_tags
|
||||
- .run_dependent
|
||||
- .needs_centos6_x86_64
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:fedora38-makefiles-clang:
|
||||
extends:
|
||||
- .fedora38_makefiles_clang
|
||||
@@ -334,26 +344,6 @@ t:linux-gcc-cxx-modules-ninja-multi:
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:linux-clang-cxx-modules-ninja:
|
||||
extends:
|
||||
- .clang_cxx_modules_ninja
|
||||
- .cmake_test_linux_release
|
||||
- .linux_x86_64_tags
|
||||
- .run_dependent
|
||||
- .needs_centos6_x86_64
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:linux-clang-cxx-modules-ninja-multi:
|
||||
extends:
|
||||
- .clang_cxx_modules_ninja_multi
|
||||
- .cmake_test_linux_release
|
||||
- .linux_x86_64_tags
|
||||
- .run_dependent
|
||||
- .needs_centos6_x86_64
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
b:fedora38-ninja:
|
||||
extends:
|
||||
- .fedora38_ninja
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
|
||||
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common_clang.cmake")
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
|
||||
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common_clang.cmake")
|
||||
@@ -1,4 +0,0 @@
|
||||
set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "")
|
||||
set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
|
||||
@@ -1,13 +0,0 @@
|
||||
FROM fedora:37
|
||||
MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
|
||||
|
||||
# Install build dependencies for packages.
|
||||
COPY install_deps.sh /root/install_deps.sh
|
||||
RUN sh /root/install_deps.sh
|
||||
|
||||
COPY install_llvm.sh /root/install_llvm.sh
|
||||
RUN sh /root/install_llvm.sh
|
||||
|
||||
# Install build dependencies for CMake's CI.
|
||||
COPY install_cmake_deps.sh /root/install_cmake_deps.sh
|
||||
RUN sh /root/install_cmake_deps.sh
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
dnf install -y --setopt=install_weak_deps=False \
|
||||
file git-core
|
||||
dnf clean all
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
dnf install -y --setopt=install_weak_deps=False \
|
||||
gcc-c++ cmake ninja-build
|
||||
dnf clean all
|
||||
@@ -1,39 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
readonly revision="6d859df46e93e04bd7a4f90d9a9056763998f638" # llvmorg-16.0.0-rc2-31-g6d859df46e93
|
||||
readonly tarball="https://github.com/llvm/llvm-project/archive/$revision.tar.gz"
|
||||
|
||||
readonly workdir="$HOME/llvm"
|
||||
readonly srcdir="$workdir/llvm"
|
||||
readonly builddir="$workdir/build"
|
||||
|
||||
mkdir -p "$workdir"
|
||||
cd "$workdir"
|
||||
curl -L "$tarball" > "llvm-$revision.tar.gz"
|
||||
tar xf "llvm-$revision.tar.gz"
|
||||
mv "llvm-project-$revision" "$srcdir"
|
||||
mkdir -p "$builddir"
|
||||
cd "$builddir"
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DLLVM_ENABLE_BINDINGS=OFF \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DLLVM_INCLUDE_DOCS=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
||||
-DLLVM_INCLUDE_RUNTIMES=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_UTILS=OFF \
|
||||
-DLLVM_TARGETS_TO_BUILD=X86 \
|
||||
-DLLVM_TOOL_CLANG_BUILD=ON \
|
||||
-DLLVM_USE_SYMLINKS=ON \
|
||||
"-DLLVM_EXTERNAL_CLANG_SOURCE_DIR=$srcdir/clang" \
|
||||
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||
-DCLANG_BUILD_TOOLS=ON \
|
||||
"-DCMAKE_INSTALL_PREFIX=/opt/llvm-p1689" \
|
||||
"$srcdir/llvm"
|
||||
ninja
|
||||
ninja install/strip
|
||||
rm -rf "$workdir"
|
||||
@@ -0,0 +1 @@
|
||||
. .gitlab/ci/env_fedora38_common_clang.sh
|
||||
+7
-22
@@ -213,6 +213,13 @@
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: fedora38_ninja_clang
|
||||
|
||||
.fedora38_ninja_multi_clang:
|
||||
extends: .fedora38
|
||||
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: fedora38_ninja_multi_clang
|
||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||
|
||||
### Sanitizers
|
||||
|
||||
.fedora_memcheck:
|
||||
@@ -376,28 +383,6 @@
|
||||
CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja_multi
|
||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||
|
||||
.clang_cxx_modules_x86_64:
|
||||
image: "kitware/cmake:ci-clang_cxx_modules-x86_64-2023-02-15"
|
||||
|
||||
variables:
|
||||
GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
|
||||
CMAKE_ARCH: x86_64
|
||||
CC: "/opt/llvm-p1689/bin/clang"
|
||||
CXX: "/opt/llvm-p1689/bin/clang++"
|
||||
|
||||
.clang_cxx_modules_ninja:
|
||||
extends: .clang_cxx_modules_x86_64
|
||||
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: linux_clang_cxx_modules_ninja
|
||||
|
||||
.clang_cxx_modules_ninja_multi:
|
||||
extends: .clang_cxx_modules_x86_64
|
||||
|
||||
variables:
|
||||
CMAKE_CONFIGURATION: linux_clang_cxx_modules_ninja_multi
|
||||
CMAKE_GENERATOR: "Ninja Multi-Config"
|
||||
|
||||
## Tags
|
||||
|
||||
.linux_x86_64_tags:
|
||||
|
||||
Reference in New Issue
Block a user