2023-10-26 10:41:09 -07:00
# CMake find_package() module for SYCL Runtime
#
# Example usage:
#
# find_package(SyclRuntime)
#
# If successful, the following variables will be defined:
# SyclRuntime_FOUND
# SyclRuntime_INCLUDE_DIRS
# SyclRuntime_LIBRARY
# SyclRuntime_LIBRARIES_DIR
#
include ( FindPackageHandleStandardArgs )
if ( NOT DEFINED ENV{CMPLR_ROOT} )
message ( WARNING "Please make sure to install Intel DPC++ Compiler and run setvars.(sh/bat)" )
message ( WARNING "You can download standalone Intel DPC++ Compiler from https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#compilers" )
else ( )
2023-12-19 13:55:33 -08:00
get_filename_component ( ONEAPI_VER "$ENV{CMPLR_ROOT}" NAME )
if ( ONEAPI_VER VERSION_LESS 2024.0 )
if ( LINUX OR ( ${ CMAKE_SYSTEM_NAME } MATCHES "Linux" ) )
set ( SyclRuntime_ROOT "$ENV{CMPLR_ROOT}/linux" )
elseif ( WIN32 )
set ( SyclRuntime_ROOT "$ENV{CMPLR_ROOT}/windows" )
endif ( )
else ( )
set ( SyclRuntime_ROOT "$ENV{CMPLR_ROOT}" )
2023-10-26 10:41:09 -07:00
endif ( )
list ( APPEND SyclRuntime_INCLUDE_DIRS "${SyclRuntime_ROOT}/include" )
list ( APPEND SyclRuntime_INCLUDE_DIRS "${SyclRuntime_ROOT}/include/sycl" )
set ( SyclRuntime_LIBRARY_DIR "${SyclRuntime_ROOT}/lib" )
message ( STATUS "SyclRuntime_LIBRARY_DIR: ${SyclRuntime_LIBRARY_DIR}" )
find_library ( SyclRuntime_LIBRARY
N A M E S s y c l
P A T H S $ { S y c l R u n t i m e _ L I B R A R Y _ D I R }
N O _ D E F A U L T _ P A T H
)
endif ( )
if ( SyclRuntime_LIBRARY )
set ( SyclRuntime_FOUND TRUE )
if ( NOT TARGET SyclRuntime::SyclRuntime )
add_library ( SyclRuntime::SyclRuntime INTERFACE IMPORTED )
set_target_properties ( SyclRuntime::SyclRuntime
P R O P E R T I E S I N T E R F A C E _ L I N K _ L I B R A R I E S " $ { S y c l R u n t i m e _ L I B R A R Y } "
)
set_target_properties ( SyclRuntime::SyclRuntime
P R O P E R T I E S I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S " $ { S y c l R u n t i m e _ I N C L U D E _ D I R S } "
)
endif ( )
else ( )
set ( SyclRuntime_FOUND FALSE )
endif ( )
find_package_handle_standard_args ( SyclRuntime
R E Q U I R E D _ V A R S
S y c l R u n t i m e _ F O U N D
S y c l R u n t i m e _ I N C L U D E _ D I R S
S y c l R u n t i m e _ L I B R A R Y
S y c l R u n t i m e _ L I B R A R Y _ D I R
H A N D L E _ C O M P O N E N T S
)
mark_as_advanced ( SyclRuntime_LIBRARY SyclRuntime_INCLUDE_DIRS )
if ( SyclRuntime_FOUND )
find_package_message ( SyclRuntime "Found SyclRuntime: ${SyclRuntime_LIBRARY}" "" )
else ( )
find_package_message ( SyclRuntime "Could not find SyclRuntime" "" )
endif ( )