| include(Compiler/IntelLLVM) |
| __compiler_intel_llvm(SYCL) |
| |
| set(_CMAKE_SYCL_REQUIRED_FLAG "-fsycl") |
| |
| if(CMAKE_SYCL_COMPILER_VERSION VERSION_GREATER_EQUAL 2026.0) |
| include(Compiler/IntelLLVM-SYCL-DeviceLink) |
| 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) |