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)