blob: cb178a710c48b9dca47406b14151c09344d79360 [file]
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file LICENSE.rst or https://cmake.org/licensing for details.
# Standalone device linking for the IntelLLVM and DPClang DPC++ drivers.
set(CMAKE_SYCL_COMPILER_HAS_DEVICE_LINK_PHASE TRUE)
set(CMAKE_SYCL_COMPILE_OPTIONS_SEPARABLE_COMPILATION_ON "-fgpu-rdc")
set(CMAKE_SYCL_COMPILE_OPTIONS_SEPARABLE_COMPILATION_OFF "-fno-gpu-rdc")
set(CMAKE_SYCL_DEVICE_LINK_OPTIONS "-fsycl;-fsycl-link")
if(NOT CMAKE_SYCL_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
if(CMAKE_SYCL_COMPILER_ID STREQUAL "IntelLLVM")
set(CMAKE_SYCL_DEVICE_LINK_OPTIONS_PIC "-shared")
endif()
set(CMAKE_SYCL_DEVICE_LINK_OPTIONS_WHOLE_ARCHIVE "-Wl,--whole-archive")
set(CMAKE_SYCL_DEVICE_LINK_OPTIONS_NO_WHOLE_ARCHIVE "-Wl,--no-whole-archive")
elseif(CMAKE_SYCL_COMPILER_ID STREQUAL "IntelLLVM")
set(CMAKE_SYCL_DEVICE_LINK_OPTIONS_WHOLE_ARCHIVE
"-Qoption,link,--whole-archive")
set(CMAKE_SYCL_DEVICE_LINK_OPTIONS_NO_WHOLE_ARCHIVE
"-Qoption,link,--no-whole-archive")
endif()