71 lines
1.7 KiB
CMake
71 lines
1.7 KiB
CMake
|
# This will define the following variables:
|
|||
|
# SYCL_FOUND : True if the system has the SYCL library.
|
|||
|
# SYCL_INCLUDE_DIR : Include directories needed to use SYCL.
|
|||
|
# SYCL_LIBRARY_DIR :The path to the SYCL library.
|
|||
|
# SYCL_LIBRARY : SYCL library fullname.
|
|||
|
|
|||
|
include(FindPackageHandleStandardArgs)
|
|||
|
|
|||
|
set(SYCL_ROOT "")
|
|||
|
if(DEFINED ENV{SYCL_ROOT})
|
|||
|
set(SYCL_ROOT $ENV{SYCL_ROOT})
|
|||
|
elseif(DEFINED ENV{CMPLR_ROOT})
|
|||
|
set(SYCL_ROOT $ENV{CMPLR_ROOT})
|
|||
|
endif()
|
|||
|
|
|||
|
string(COMPARE EQUAL "${SYCL_ROOT}" "" nosyclfound)
|
|||
|
if(nosyclfound)
|
|||
|
set(SYCL_FOUND False)
|
|||
|
set(SYCL_REASON_FAILURE "SYCL library not set!!")
|
|||
|
set(SYCL_NOT_FOUND_MESSAGE "${SYCL_REASON_FAILURE}")
|
|||
|
return()
|
|||
|
endif()
|
|||
|
|
|||
|
# Find include path from binary.
|
|||
|
find_file(
|
|||
|
SYCL_INCLUDE_DIR
|
|||
|
NAMES include
|
|||
|
HINTS ${SYCL_ROOT}
|
|||
|
NO_DEFAULT_PATH
|
|||
|
)
|
|||
|
|
|||
|
# Find include/sycl path from include path.
|
|||
|
find_file(
|
|||
|
SYCL_INCLUDE_SYCL_DIR
|
|||
|
NAMES sycl
|
|||
|
HINTS ${SYCL_ROOT}/include/
|
|||
|
NO_DEFAULT_PATH
|
|||
|
)
|
|||
|
|
|||
|
# Due to the unrecognized compilation option `-fsycl` in other compiler.
|
|||
|
list(APPEND SYCL_INCLUDE_DIR ${SYCL_INCLUDE_SYCL_DIR})
|
|||
|
|
|||
|
# Find library directory from binary.
|
|||
|
find_file(
|
|||
|
SYCL_LIBRARY_DIR
|
|||
|
NAMES lib lib64
|
|||
|
HINTS ${SYCL_ROOT}
|
|||
|
NO_DEFAULT_PATH
|
|||
|
)
|
|||
|
|
|||
|
# Find SYCL library fullname.
|
|||
|
find_library(
|
|||
|
SYCL_LIBRARY
|
|||
|
NAMES sycl
|
|||
|
HINTS ${SYCL_LIBRARY_DIR}
|
|||
|
NO_DEFAULT_PATH
|
|||
|
)
|
|||
|
|
|||
|
if((NOT SYCL_INCLUDE_DIR) OR (NOT SYCL_LIBRARY_DIR) OR (NOT SYCL_LIBRARY))
|
|||
|
set(SYCL_FOUND False)
|
|||
|
set(SYCL_REASON_FAILURE "SYCL library is incomplete!!")
|
|||
|
set(SYCL_NOT_FOUND_MESSAGE "${SYCL_REASON_FAILURE}")
|
|||
|
return()
|
|||
|
endif()
|
|||
|
|
|||
|
find_package_handle_standard_args(
|
|||
|
SYCL
|
|||
|
FOUND_VAR SYCL_FOUND
|
|||
|
REQUIRED_VARS SYCL_INCLUDE_DIR SYCL_LIBRARY_DIR SYCL_LIBRARY
|
|||
|
REASON_FAILURE_MESSAGE "${SYCL_REASON_FAILURE}")
|