mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-18 20:30:33 -05:00
ci: Add LLVM/Clang 13.0 nightly CI jobs on Windows
Add jobs covering the `clang-cl` front-end with Ninja and NMake. Add a job covering the `clang++` front-end with Ninja.
This commit is contained in:
@@ -834,6 +834,51 @@ t:windows-borland5.8:
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
|
t:windows-clang13.0-cl-ninja:
|
||||||
|
extends:
|
||||||
|
- .windows_clang_ninja
|
||||||
|
- .cmake_test_windows_clang
|
||||||
|
- .windows_tags_concurrent
|
||||||
|
- .cmake_junit_artifacts
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- t:windows-vs2022-x64-ninja
|
||||||
|
needs:
|
||||||
|
- t:windows-vs2022-x64-ninja
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_BUILD_NAME: windows_clang13.0_cl_ninja
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
|
t:windows-clang13.0-cl-nmake:
|
||||||
|
extends:
|
||||||
|
- .windows_clang_nmake
|
||||||
|
- .cmake_test_windows_clang
|
||||||
|
- .windows_tags_concurrent
|
||||||
|
- .cmake_junit_artifacts
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- t:windows-vs2022-x64-ninja
|
||||||
|
needs:
|
||||||
|
- t:windows-vs2022-x64-ninja
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_BUILD_NAME: windows_clang13.0_cl_nmake
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
|
t:windows-clang13.0-gnu-ninja:
|
||||||
|
extends:
|
||||||
|
- .windows_clang_ninja
|
||||||
|
- .cmake_test_windows_clang
|
||||||
|
- .windows_tags_concurrent
|
||||||
|
- .cmake_junit_artifacts
|
||||||
|
- .run_dependent
|
||||||
|
dependencies:
|
||||||
|
- t:windows-vs2022-x64-ninja
|
||||||
|
needs:
|
||||||
|
- t:windows-vs2022-x64-ninja
|
||||||
|
variables:
|
||||||
|
CMAKE_CI_BUILD_NAME: windows_clang13.0_gnu_ninja
|
||||||
|
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||||
|
|
||||||
t:windows-msvc-v71-nmake:
|
t:windows-msvc-v71-nmake:
|
||||||
extends:
|
extends:
|
||||||
- .windows_msvc_v71_nmake
|
- .windows_msvc_v71_nmake
|
||||||
|
|||||||
37
.gitlab/ci/clang.ps1
Executable file
37
.gitlab/ci/clang.ps1
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
$erroractionpreference = "stop"
|
||||||
|
|
||||||
|
if ("$env:CMAKE_CI_BUILD_NAME".Contains("clang13.0")) {
|
||||||
|
# LLVM/Clang 13.0
|
||||||
|
# https://github.com/llvm/llvm-project/releases/tag/llvmorg-13.0.0
|
||||||
|
$filename = "llvm-13.0.0-win-x86_64-1"
|
||||||
|
$sha256sum = "F1B7CE360DACBC9776D7F84BE714766D60CF3D47492AFE34C45D574D1C597264"
|
||||||
|
} else {
|
||||||
|
throw ('unknown CMAKE_CI_BUILD_NAME: ' + "$env:CMAKE_CI_BUILD_NAME")
|
||||||
|
}
|
||||||
|
$tarball = "$filename.zip"
|
||||||
|
|
||||||
|
$outdir = $pwd.Path
|
||||||
|
$outdir = "$outdir\.gitlab"
|
||||||
|
$ProgressPreference = 'SilentlyContinue'
|
||||||
|
# This URL is only visible inside of Kitware's network. See above filename table.
|
||||||
|
Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
|
||||||
|
$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
|
||||||
|
if ($hash.Hash -ne $sha256sum) {
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||||
|
[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
|
||||||
|
Move-Item -Path "$outdir\$filename" -Destination "$outdir\llvm"
|
||||||
|
|
||||||
|
$bin = "$outdir\llvm\bin"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\clang++.exe" -Target "$bin\clang.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\clang-cl.exe" -Target "$bin\clang.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\clang-cpp.exe" -Target "$bin\clang.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\ld.lld.exe" -Target "$bin\lld.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\ld64.lld.exe" -Target "$bin\lld.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\lld-link.exe" -Target "$bin\lld.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\llvm-lib.exe" -Target "$bin\llvm-ar.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\llvm-ranlib.exe" -Target "$bin\llvm-ar.exe"
|
||||||
|
$null = New-Item -ItemType HardLink -Path "$bin\llvm-objcopy.exe" -Target "$bin\llvm-strip.exe"
|
||||||
|
Clear-Variable -Name bin
|
||||||
2
.gitlab/ci/configure_windows_clang_common.cmake
Normal file
2
.gitlab/ci/configure_windows_clang_common.cmake
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
set(configure_no_sccache 1)
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
|
||||||
1
.gitlab/ci/configure_windows_clang_ninja.cmake
Normal file
1
.gitlab/ci/configure_windows_clang_ninja.cmake
Normal file
@@ -0,0 +1 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_clang_common.cmake")
|
||||||
1
.gitlab/ci/configure_windows_clang_nmake.cmake
Normal file
1
.gitlab/ci/configure_windows_clang_nmake.cmake
Normal file
@@ -0,0 +1 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_clang_common.cmake")
|
||||||
7
.gitlab/ci/env_windows_clang_common.cmake
Normal file
7
.gitlab/ci/env_windows_clang_common.cmake
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
if("$ENV{CMAKE_CI_BUILD_NAME}" MATCHES "(^|_)gnu(_|$)")
|
||||||
|
set(ENV{CC} clang)
|
||||||
|
set(ENV{CXX} clang++)
|
||||||
|
else()
|
||||||
|
set(ENV{CC} clang-cl)
|
||||||
|
set(ENV{CXX} clang-cl)
|
||||||
|
endif()
|
||||||
1
.gitlab/ci/env_windows_clang_ninja.cmake
Normal file
1
.gitlab/ci/env_windows_clang_ninja.cmake
Normal file
@@ -0,0 +1 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/env_windows_clang_common.cmake")
|
||||||
1
.gitlab/ci/env_windows_clang_nmake.cmake
Normal file
1
.gitlab/ci/env_windows_clang_nmake.cmake
Normal file
@@ -0,0 +1 @@
|
|||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/env_windows_clang_common.cmake")
|
||||||
@@ -87,6 +87,14 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: windows_borland5.8
|
CMAKE_CONFIGURATION: windows_borland5.8
|
||||||
|
|
||||||
|
.windows_ninja:
|
||||||
|
extends: .windows
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_GENERATOR: "Ninja"
|
||||||
|
CMAKE_CI_BUILD_TYPE: Release
|
||||||
|
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
|
||||||
|
|
||||||
.windows_nmake:
|
.windows_nmake:
|
||||||
extends: .windows
|
extends: .windows
|
||||||
|
|
||||||
@@ -119,6 +127,22 @@
|
|||||||
variables:
|
variables:
|
||||||
CMAKE_CONFIGURATION: windows_vs2022_x64_jom
|
CMAKE_CONFIGURATION: windows_vs2022_x64_jom
|
||||||
|
|
||||||
|
.windows_clang_ninja:
|
||||||
|
extends:
|
||||||
|
- .windows_ninja
|
||||||
|
- .windows_vcvarsall_vs2022_x64
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: windows_clang_ninja
|
||||||
|
|
||||||
|
.windows_clang_nmake:
|
||||||
|
extends:
|
||||||
|
- .windows_nmake
|
||||||
|
- .windows_vcvarsall_vs2022_x64
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CMAKE_CONFIGURATION: windows_clang_nmake
|
||||||
|
|
||||||
.windows_msvc_v71_nmake:
|
.windows_msvc_v71_nmake:
|
||||||
extends: .windows_nmake
|
extends: .windows_nmake
|
||||||
|
|
||||||
@@ -262,6 +286,20 @@
|
|||||||
|
|
||||||
interruptible: true
|
interruptible: true
|
||||||
|
|
||||||
|
.cmake_test_windows_clang:
|
||||||
|
stage: test-ext
|
||||||
|
|
||||||
|
script:
|
||||||
|
- $pwdpath = $pwd.Path
|
||||||
|
- powershell -File ".gitlab/ci/ninja.ps1"
|
||||||
|
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
|
||||||
|
- Invoke-Expression -Command .gitlab/ci/clang.ps1
|
||||||
|
- Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
|
||||||
|
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\llvm\bin;$env:PATH"
|
||||||
|
- build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
|
||||||
|
|
||||||
|
interruptible: true
|
||||||
|
|
||||||
.cmake_test_windows_msvc:
|
.cmake_test_windows_msvc:
|
||||||
stage: test-ext
|
stage: test-ext
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user