mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 18:29:37 -06:00
Merge topic 'ci-clang15-windows'
46b2849550ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows3eb94e4d51ci: Simplify LLVM/Clang CI job specs on Windows8ba5835c8dci: Factor out helper to load clang into environment on Windowsbf2e4a2e85ci: Factor out helper to load ninja into environment on Windows93ff726114Tests: Fix TryCompile bad source case for clang-cl 15 on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7897
This commit is contained in:
@@ -1000,10 +1000,10 @@ t:windows-borland5.8:
|
||||
variables:
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:windows-clang13.0-cl-ninja:
|
||||
t:windows-clang15.0-cl-ninja:
|
||||
extends:
|
||||
- .windows_clang_ninja
|
||||
- .cmake_test_windows_clang
|
||||
- .cmake_test_windows_external
|
||||
- .windows_tags_concurrent
|
||||
- .cmake_junit_artifacts
|
||||
- .run_dependent
|
||||
@@ -1012,13 +1012,13 @@ t:windows-clang13.0-cl-ninja:
|
||||
needs:
|
||||
- t:windows-vs2022-x64-ninja
|
||||
variables:
|
||||
CMAKE_CI_BUILD_NAME: windows_clang13.0_cl_ninja
|
||||
CMAKE_CI_BUILD_NAME: windows_clang15.0_cl_ninja
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:windows-clang13.0-cl-nmake:
|
||||
t:windows-clang15.0-cl-nmake:
|
||||
extends:
|
||||
- .windows_clang_nmake
|
||||
- .cmake_test_windows_clang
|
||||
- .cmake_test_windows_external
|
||||
- .windows_tags_concurrent
|
||||
- .cmake_junit_artifacts
|
||||
- .run_dependent
|
||||
@@ -1027,13 +1027,13 @@ t:windows-clang13.0-cl-nmake:
|
||||
needs:
|
||||
- t:windows-vs2022-x64-ninja
|
||||
variables:
|
||||
CMAKE_CI_BUILD_NAME: windows_clang13.0_cl_nmake
|
||||
CMAKE_CI_BUILD_NAME: windows_clang15.0_cl_nmake
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:windows-clang13.0-gnu-ninja:
|
||||
t:windows-clang15.0-gnu-ninja:
|
||||
extends:
|
||||
- .windows_clang_ninja
|
||||
- .cmake_test_windows_clang
|
||||
- .cmake_test_windows_external
|
||||
- .windows_tags_concurrent
|
||||
- .cmake_junit_artifacts
|
||||
- .run_dependent
|
||||
@@ -1042,13 +1042,13 @@ t:windows-clang13.0-gnu-ninja:
|
||||
needs:
|
||||
- t:windows-vs2022-x64-ninja
|
||||
variables:
|
||||
CMAKE_CI_BUILD_NAME: windows_clang13.0_gnu_ninja
|
||||
CMAKE_CI_BUILD_NAME: windows_clang15.0_gnu_ninja
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:windows-clang13.0-gnu-nmake:
|
||||
t:windows-clang15.0-gnu-nmake:
|
||||
extends:
|
||||
- .windows_clang_nmake
|
||||
- .cmake_test_windows_clang
|
||||
- .cmake_test_windows_external
|
||||
- .windows_tags_concurrent
|
||||
- .cmake_junit_artifacts
|
||||
- .run_dependent
|
||||
@@ -1057,7 +1057,7 @@ t:windows-clang13.0-gnu-nmake:
|
||||
needs:
|
||||
- t:windows-vs2022-x64-ninja
|
||||
variables:
|
||||
CMAKE_CI_BUILD_NAME: windows_clang13.0_gnu_nmake
|
||||
CMAKE_CI_BUILD_NAME: windows_clang15.0_gnu_nmake
|
||||
CMAKE_CI_JOB_NIGHTLY: "true"
|
||||
|
||||
t:mingw_osdn_io-mingw_makefiles:
|
||||
|
||||
15
.gitlab/ci/clang-env.ps1
Executable file
15
.gitlab/ci/clang-env.ps1
Executable file
@@ -0,0 +1,15 @@
|
||||
Invoke-Expression -Command .gitlab/ci/clang.ps1
|
||||
Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
|
||||
|
||||
$pwdpath = $pwd.Path
|
||||
Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\llvm\bin;$env:PATH"
|
||||
|
||||
if ("$env:CMAKE_CI_BUILD_NAME" -match "(^|_)gnu(_|$)") {
|
||||
$env:CC = "clang"
|
||||
$env:CXX = "clang++"
|
||||
clang --version
|
||||
} else {
|
||||
$env:CC = "clang-cl"
|
||||
$env:CXX = "clang-cl"
|
||||
clang-cl --version
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
$erroractionpreference = "stop"
|
||||
|
||||
if ("$env:CMAKE_CI_BUILD_NAME".Contains("clang13.0")) {
|
||||
# LLVM/Clang 13.0
|
||||
# https://github.com/llvm/llvm-project/releases/tag/llvmorg-13.0.0
|
||||
$filename = "llvm-13.0.0-win-x86_64-1"
|
||||
$sha256sum = "F1B7CE360DACBC9776D7F84BE714766D60CF3D47492AFE34C45D574D1C597264"
|
||||
if ("$env:CMAKE_CI_BUILD_NAME".Contains("clang15.0")) {
|
||||
# LLVM/Clang 15.0
|
||||
# https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.4
|
||||
$filename = "llvm-15.0.4-win-x86_64-1"
|
||||
$sha256sum = "9AA305084C20C27972E103E7B18AAC3F755E0534542AF62FC2F2BF5DDD3C4E1F"
|
||||
} else {
|
||||
throw ('unknown CMAKE_CI_BUILD_NAME: ' + "$env:CMAKE_CI_BUILD_NAME")
|
||||
}
|
||||
@@ -25,6 +25,7 @@ Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||
Move-Item -Path "$outdir\$filename" -Destination "$outdir\llvm"
|
||||
|
||||
$bin = "$outdir\llvm\bin"
|
||||
$lib = "$outdir\llvm\lib"
|
||||
$null = New-Item -ItemType HardLink -Path "$bin\clang++.exe" -Target "$bin\clang.exe"
|
||||
$null = New-Item -ItemType HardLink -Path "$bin\clang-cl.exe" -Target "$bin\clang.exe"
|
||||
$null = New-Item -ItemType HardLink -Path "$bin\clang-cpp.exe" -Target "$bin\clang.exe"
|
||||
@@ -34,4 +35,7 @@ $null = New-Item -ItemType HardLink -Path "$bin\lld-link.exe" -Target "$bin\
|
||||
$null = New-Item -ItemType HardLink -Path "$bin\llvm-lib.exe" -Target "$bin\llvm-ar.exe"
|
||||
$null = New-Item -ItemType HardLink -Path "$bin\llvm-ranlib.exe" -Target "$bin\llvm-ar.exe"
|
||||
$null = New-Item -ItemType HardLink -Path "$bin\llvm-objcopy.exe" -Target "$bin\llvm-strip.exe"
|
||||
$null = New-Item -ItemType HardLink -Path "$bin\libiomp5md.dll" -Target "$bin\libomp.dll"
|
||||
$null = New-Item -ItemType HardLink -Path "$lib\libiomp5md.lib" -Target "$lib\libomp.lib"
|
||||
Clear-Variable -Name bin
|
||||
Clear-Variable -Name lib
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
if("$ENV{CMAKE_CI_BUILD_NAME}" MATCHES "(^|_)gnu(_|$)")
|
||||
set(ENV{CC} clang)
|
||||
set(ENV{CXX} clang++)
|
||||
else()
|
||||
set(ENV{CC} clang-cl)
|
||||
set(ENV{CXX} clang-cl)
|
||||
endif()
|
||||
@@ -1 +0,0 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/env_windows_clang_common.cmake")
|
||||
2
.gitlab/ci/env_windows_clang_ninja.ps1
Executable file
2
.gitlab/ci/env_windows_clang_ninja.ps1
Executable file
@@ -0,0 +1,2 @@
|
||||
. .gitlab/ci/ninja-env.ps1
|
||||
. .gitlab/ci/clang-env.ps1
|
||||
@@ -1 +0,0 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/env_windows_clang_common.cmake")
|
||||
1
.gitlab/ci/env_windows_clang_nmake.ps1
Executable file
1
.gitlab/ci/env_windows_clang_nmake.ps1
Executable file
@@ -0,0 +1 @@
|
||||
. .gitlab/ci/clang-env.ps1
|
||||
@@ -2,9 +2,6 @@ if ("$env:CMAKE_CI_NIGHTLY" -eq "true") {
|
||||
. ".gitlab/ci/ispc-env.ps1"
|
||||
}
|
||||
|
||||
$pwdpath = $pwd.Path
|
||||
& "$pwsh" -File ".gitlab/ci/ninja.ps1"
|
||||
Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
|
||||
ninja --version
|
||||
. .gitlab/ci/ninja-env.ps1
|
||||
|
||||
Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
|
||||
|
||||
4
.gitlab/ci/ninja-env.ps1
Executable file
4
.gitlab/ci/ninja-env.ps1
Executable file
@@ -0,0 +1,4 @@
|
||||
$pwdpath = $pwd.Path
|
||||
& "$pwsh" -File ".gitlab/ci/ninja.ps1"
|
||||
Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
|
||||
Write-Host "ninja version: $(ninja --version)"
|
||||
@@ -322,11 +322,9 @@
|
||||
- Set-Item -Force -Path "env:WIX" -Value "$pwdpath\.gitlab\wix"
|
||||
- (& "$pwsh" -File ".gitlab/ci/cmake.ps1")
|
||||
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\cmake\bin;$env:PATH"
|
||||
- (& "$pwsh" -File ".gitlab/ci/ninja.ps1")
|
||||
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
|
||||
- . .gitlab/ci/ninja-env.ps1
|
||||
- (& "$env:WIX\bin\light.exe" -help) | Select -First 1
|
||||
- cmake --version
|
||||
- ninja --version
|
||||
- cmake -P .gitlab/ci/download_qt.cmake
|
||||
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\qt\bin;$env:PATH"
|
||||
- cmake -P .gitlab/ci/download_python3.cmake
|
||||
@@ -415,21 +413,6 @@
|
||||
|
||||
interruptible: true
|
||||
|
||||
.cmake_test_windows_clang:
|
||||
stage: test-ext
|
||||
|
||||
script:
|
||||
- . .gitlab/ci/env.ps1
|
||||
- $pwdpath = $pwd.Path
|
||||
- (& "$pwsh" -File ".gitlab/ci/ninja.ps1")
|
||||
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab;$env:PATH"
|
||||
- Invoke-Expression -Command .gitlab/ci/clang.ps1
|
||||
- Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
|
||||
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\llvm\bin;$env:PATH"
|
||||
- build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake
|
||||
|
||||
interruptible: true
|
||||
|
||||
.cmake_test_windows_msvc:
|
||||
stage: test-ext
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ try_compile(SHOULD_FAIL_DUE_TO_BAD_SOURCE
|
||||
if(SHOULD_FAIL_DUE_TO_BAD_SOURCE AND NOT CMAKE_GENERATOR MATCHES "Watcom WMake|NMake Makefiles")
|
||||
string(REPLACE "\n" "\n " output " ${output}")
|
||||
message(SEND_ERROR "try_compile with bad#source.c did not fail:\n${output}")
|
||||
elseif(NOT output MATCHES [[(bad#source\.c|bad\.c|bad')]])
|
||||
elseif(NOT output MATCHES [[(bad#source\.c|bad\.c|bad[':])]])
|
||||
string(REPLACE "\n" "\n " output " ${output}")
|
||||
message(SEND_ERROR "try_compile with bad#source.c failed without mentioning bad source:\n${output}")
|
||||
else()
|
||||
|
||||
Reference in New Issue
Block a user