Skip to content

Commit 9e2be76

Browse files
Alexander Batashevvladimirlaz
authored andcommitted
[SYCL] Propagate C and C++ compilers to ICD build
When there's more than 1 compiler (e.g MinGW and MSVC on Windows), and non-default compiler is used to build SYCL, OpenCL ICD loader will still be built with the default one. This patch propagates LLVM's compiler to ICD CMake generator. Signed-off-by: Alexander Batashev <[email protected]>
1 parent 23cbe7f commit 9e2be76

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

sycl/CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,16 @@ if( NOT OpenCL_LIBRARIES )
8484
if(MSVC)
8585
set(OpenCL_LIBRARIES
8686
"${LLVM_LIBRARY_OUTPUT_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}OpenCL${CMAKE_STATIC_LIBRARY_SUFFIX}")
87-
set(OPENCL_ICD_LOADER_WDK "-DOPENCL_ICD_LOADER_REQUIRE_WDK=OFF")
87+
set(AUX_CMAKE_FLAGS "${AUX_CMAKE_FLAGS} -DOPENCL_ICD_LOADER_REQUIRE_WDK=OFF")
8888
else()
8989
set(OpenCL_LIBRARIES
9090
"${LLVM_LIBRARY_OUTPUT_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}OpenCL${CMAKE_SHARED_LIBRARY_SUFFIX}")
91-
set(OPENCL_ICD_LOADER_WDK "")
91+
endif()
92+
if (CMAKE_C_COMPILER)
93+
set(AUX_CMAKE_FLAGS "${AUX_CMAKE_FLAGS} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
94+
endif()
95+
if (CMAKE_CXX_COMPILER)
96+
set(AUX_CMAKE_FLAGS "${AUX_CMAKE_FLAGS} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
9297
endif()
9398
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/icd_build)
9499
ExternalProject_Add(ocl-icd
@@ -101,7 +106,7 @@ if( NOT OpenCL_LIBRARIES )
101106
-DOPENCL_ICD_LOADER_HEADERS_DIR=${CMAKE_CURRENT_BINARY_DIR}/OpenCL/inc
102107
-DCMAKE_INSTALL_PREFIX=${LLVM_BINARY_DIR}
103108
-DCMAKE_INSTALL_LIBDIR:PATH=lib
104-
${OPENCL_ICD_LOADER_WDK}
109+
${AUX_CMAKE_FLAGS}
105110
STEP_TARGETS configure,build,install
106111
DEPENDS ocl-headers
107112
BUILD_BYPRODUCTS ${OpenCL_LIBRARIES}

0 commit comments

Comments
 (0)