| include(Compiler/IntelLLVM) | |
| __compiler_intel_llvm(SYCL) | |
| set(_CMAKE_SYCL_REQUIRED_FLAG "-fsycl") | |
| if(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2026.0) | |
| 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_PIC "-shared") | |
| set(CMAKE_SYCL_DEVICE_LINK_OPTIONS_WHOLE_ARCHIVE "-Wl,--whole-archive") | |
| set(CMAKE_SYCL_DEVICE_LINK_OPTIONS_NO_WHOLE_ARCHIVE "-Wl,--no-whole-archive") | |
| else() | |
| 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() | |
| endif() | |
| set(CMAKE_SYCL_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN | |
| "-fvisibility-inlines-hidden") | |
| set(CMAKE_SYCL_COMPILER_PREDEFINES_COMMAND "${CMAKE_SYCL_COMPILER}") | |
| if(CMAKE_SYCL_COMPILER_ARG1) | |
| separate_arguments(_COMPILER_ARGS NATIVE_COMMAND "${CMAKE_SYCL_COMPILER_ARG1}") | |
| list(APPEND CMAKE_SYCL_COMPILER_PREDEFINES_COMMAND ${_COMPILER_ARGS}) | |
| unset(_COMPILER_ARGS) | |
| endif() | |
| list(APPEND CMAKE_SYCL_COMPILER_PREDEFINES_COMMAND | |
| ${_CMAKE_SYCL_REQUIRED_FLAG} "-x" "c++" "-w" "-dM" "-E" | |
| "${CMAKE_ROOT}/Modules/CMakeSYCLCompilerABI.sycl") | |
| if(CMAKE_SYCL_COMPILER_TARGET) | |
| list(APPEND CMAKE_SYCL_COMPILER_PREDEFINES_COMMAND | |
| "--target=${CMAKE_SYCL_COMPILER_TARGET}") | |
| endif() | |
| if(CMAKE_SYCL_COMPILER_FRONTEND_VARIANT STREQUAL "GNU") | |
| set(CMAKE_SYCL17_STANDARD_COMPILE_OPTION "-std=c++17") | |
| set(CMAKE_SYCL17_EXTENSION_COMPILE_OPTION "-std=gnu++17") | |
| set(CMAKE_SYCL20_STANDARD_COMPILE_OPTION "-std=c++20") | |
| set(CMAKE_SYCL20_EXTENSION_COMPILE_OPTION "-std=gnu++20") | |
| set(CMAKE_SYCL_STANDARD_LATEST 20) | |
| if(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) | |
| set(CMAKE_SYCL23_STANDARD_COMPILE_OPTION "-std=c++23") | |
| set(CMAKE_SYCL23_EXTENSION_COMPILE_OPTION "-std=gnu++23") | |
| set(CMAKE_SYCL_STANDARD_LATEST 23) | |
| elseif(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) | |
| set(CMAKE_SYCL23_STANDARD_COMPILE_OPTION "-std=c++2b") | |
| set(CMAKE_SYCL23_EXTENSION_COMPILE_OPTION "-std=gnu++2b") | |
| set(CMAKE_SYCL_STANDARD_LATEST 23) | |
| endif() | |
| if(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) | |
| set(CMAKE_SYCL26_STANDARD_COMPILE_OPTION "-std=c++26") | |
| set(CMAKE_SYCL26_EXTENSION_COMPILE_OPTION "-std=gnu++26") | |
| set(CMAKE_SYCL_STANDARD_LATEST 26) | |
| endif() | |
| else() | |
| set(CMAKE_SYCL17_STANDARD_COMPILE_OPTION "-Qstd:c++17") | |
| set(CMAKE_SYCL17_EXTENSION_COMPILE_OPTION "-Qstd:c++17") | |
| set(CMAKE_SYCL20_STANDARD_COMPILE_OPTION "-Qstd:c++20") | |
| set(CMAKE_SYCL20_EXTENSION_COMPILE_OPTION "-Qstd:c++20") | |
| set(CMAKE_SYCL_STANDARD_LATEST 20) | |
| if(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) | |
| set(CMAKE_SYCL23_STANDARD_COMPILE_OPTION "-Qstd=c++23") | |
| set(CMAKE_SYCL23_EXTENSION_COMPILE_OPTION "-Qstd=c++23") | |
| set(CMAKE_SYCL_STANDARD_LATEST 23) | |
| elseif(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) | |
| set(CMAKE_SYCL23_STANDARD_COMPILE_OPTION "-Qstd:c++2b") | |
| set(CMAKE_SYCL23_EXTENSION_COMPILE_OPTION "-Qstd:c++2b") | |
| set(CMAKE_SYCL_STANDARD_LATEST 23) | |
| endif() | |
| if(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2024.0.0) | |
| set(CMAKE_SYCL26_STANDARD_COMPILE_OPTION "-Qstd=c++26") | |
| set(CMAKE_SYCL26_EXTENSION_COMPILE_OPTION "-Qstd=c++26") | |
| set(CMAKE_SYCL_STANDARD_LATEST 26) | |
| endif() | |
| endif() | |
| if(CMAKE_SYCL_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") | |
| set(_CMAKE_SYCL_NDEBUG_FLAG " /DNDEBUG") | |
| else() | |
| set(_CMAKE_SYCL_NDEBUG_FLAG " -DNDEBUG") | |
| endif() | |
| string(APPEND CMAKE_SYCL_FLAGS_MINSIZEREL_INIT "${_CMAKE_SYCL_NDEBUG_FLAG}") | |
| string(APPEND CMAKE_SYCL_FLAGS_RELEASE_INIT "${_CMAKE_SYCL_NDEBUG_FLAG}") | |
| string(APPEND CMAKE_SYCL_FLAGS_RELWITHDEBINFO_INIT "${_CMAKE_SYCL_NDEBUG_FLAG}") | |
| unset(_CMAKE_SYCL_NDEBUG_FLAG) | |
| __compiler_check_default_language_standard(SYCL 2020 17) |