blob: b3f7ab7b43aaa23d366fe36cb78e58d32d7f923f [file]
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)