blob: 8ba73059769036d57f7081fbe94d4390e1bb3e6a [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")
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()