mirror of
https://github.com/Kitware/CMake.git
synced 2026-11-06 05:16:58 +00:00
88 lines
3.3 KiB
CMake
88 lines
3.3 KiB
CMake
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)
|