Skip to content

Commit a3df384

Browse files
author
Alexander Batashev
authored
[SYCL][CI] Enable sccache on Windows (#5589)
Fixes #5568 and #5569
1 parent edbfc99 commit a3df384

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

.github/workflows/sycl_windows_build_and_test.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ jobs:
1717
run: |
1818
choco install -y cuda --version 11.6.0.51123
1919
choco install -y ninja
20+
choco install -y sccache --version 0.2.15
2021
refreshenv
2122
echo CUDA_PATH=%CUDA_PATH%
2223
echo CUDA_PATH=%CUDA_PATH% >> %GITHUB_ENV%
@@ -49,6 +50,8 @@ jobs:
4950
--cmake-opt="-DCMAKE_C_COMPILER=cl" ^
5051
--cmake-opt="-DCMAKE_CXX_COMPILER=cl" ^
5152
--cmake-opt="-DCMAKE_INSTALL_PREFIX=%GITHUB_WORKSPACE%\install" ^
53+
--cmake-opt="-DCMAKE_CXX_COMPILER_LAUNCHER=sccache" ^
54+
--cmake-opt="-DCMAKE_C_COMPILER_LAUNCHER=sccache" ^
5255
--cuda
5356
- name: Build
5457
shell: cmd
@@ -64,4 +67,4 @@ jobs:
6467
uses: actions/upload-artifact@v2
6568
with:
6669
name: sycl_windows_default
67-
path: install/**/*
70+
path: install/**/*

sycl/CMakeLists.txt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,23 @@ if(MSVC)
6262
include(LLVMCheckLinkerFlag)
6363
llvm_check_linker_flag(CXX "/DEBUG" LINKER_SUPPORTS_DEBUG)
6464
if(LINKER_SUPPORTS_DEBUG)
65-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zi")
65+
# sccache is not compatible with /Zi flag
66+
if (CMAKE_CXX_COMPILER_LAUNCHER STREQUAL "sccache")
67+
# CMake may put /Zi by default
68+
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
69+
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
70+
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
71+
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
72+
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
73+
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
74+
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
75+
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
76+
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
77+
endif()
78+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Z7")
79+
else()
80+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zi")
81+
endif()
6682
add_link_options("/DEBUG")
6783

6884
# Enable unreferenced removal and ICF in Release mode.

0 commit comments

Comments
 (0)