@@ -44,6 +44,8 @@ option(DPCTL_ENABLE_GLOG
44
44
45
45
set (DPCTL_LEVEL_ZERO_INCLUDE_DIR "" CACHE STRING "Level zero header path" )
46
46
47
+ set (LIBZE_SET_LOADER_FILENAME "" CACHE STRING "User-provided Level Zero Loader filename" )
48
+
47
49
set (LIBZE_DEFAULT_LOADER_FILENAME "libze_loader.so.1" CACHE STRING "Default Level Zero Loader filename" )
48
50
49
51
# Minimum version requirement only when oneAPI dpcpp is used.
@@ -62,23 +64,27 @@ if(DPCTL_ENABLE_L0_PROGRAM_CREATION)
62
64
get_level_zero_headers ()
63
65
endif ()
64
66
if (UNIX )
65
- find_library (PI_LEVEL_ZERO_LIB
66
- NAMES pi_level_zero ur_adapter_level_zero
67
- HINTS ${IntelSyclCompiler_LIBRARY_DIR}
68
- )
69
- find_program (READELF_PROG readelf )
70
- find_program (GREP_PROG grep )
71
- execute_process (
72
- COMMAND ${READELF_PROG} -d ${PI_LEVEL_ZERO_LIB}
73
- COMMAND ${GREP_PROG} libze_loader
74
- COMMAND ${GREP_PROG} -Po "libze_loader[^\] ]*"
75
- OUTPUT_VARIABLE LIBZE_LOADER_FILENAME
76
- OUTPUT_STRIP_TRAILING_WHITESPACE
77
- ERROR_STRIP_TRAILING_WHITESPACE
78
- )
79
- # if libze_loader is statically linked, LIBZE_LOADER_FILENAME will be an empty string
80
- if ("x${LIBZE_LOADER_FILENAME} " STREQUAL "x" )
81
- set (LIBZE_LOADER_FILENAME ${LIBZE_DEFAULT_LOADER_FILENAME} )
67
+ if ("x${LIBZE_SET_LOADER_FILENAME} " STREQUAL "x" )
68
+ find_library (PI_LEVEL_ZERO_LIB
69
+ NAMES pi_level_zero ur_adapter_level_zero
70
+ HINTS ${IntelSyclCompiler_LIBRARY_DIR}
71
+ )
72
+ find_program (READELF_PROG readelf )
73
+ find_program (GREP_PROG grep )
74
+ execute_process (
75
+ COMMAND ${READELF_PROG} -d ${PI_LEVEL_ZERO_LIB}
76
+ COMMAND ${GREP_PROG} libze_loader
77
+ COMMAND ${GREP_PROG} -Po "libze_loader[^\] ]*"
78
+ OUTPUT_VARIABLE LIBZE_LOADER_FILENAME
79
+ OUTPUT_STRIP_TRAILING_WHITESPACE
80
+ ERROR_STRIP_TRAILING_WHITESPACE
81
+ )
82
+ # if libze_loader is statically linked, LIBZE_LOADER_FILENAME will be an empty string
83
+ if ("x${LIBZE_LOADER_FILENAME} " STREQUAL "x" )
84
+ set (LIBZE_LOADER_FILENAME ${LIBZE_DEFAULT_LOADER_FILENAME} )
85
+ endif ()
86
+ else ()
87
+ set (LIBZE_LOADER_FILENAME ${LIBZE_SET_LOADER_FILENAME} )
82
88
endif ()
83
89
set (LIBZE_LOADER_FILENAME ${LIBZE_LOADER_FILENAME} PARENT_SCOPE )
84
90
endif ()
0 commit comments