@@ -222,7 +222,7 @@ macro(CheckSOVersion PROJ_SOVERSION)
222
222
endif ()
223
223
endmacro ()
224
224
225
- macro (GetLevelZero )
225
+ macro (GetLevelZero PTI_L0_LOADER PTI_L0_LOADER_COMMIT_HASH )
226
226
if (NOT TARGET LevelZero::level-zero )
227
227
# Need zelEnableTracingLayer
228
228
message ("-- Fetching L0: ${PTI_L0_LOADER} " )
@@ -253,23 +253,43 @@ macro(GetLevelZero)
253
253
add_subdirectory (${levelzero_SOURCE_DIR} ${levelzero_BINARY_DIR} EXCLUDE_FROM_ALL )
254
254
endif ()
255
255
256
+ get_target_property (PTI_ZE_LOADER_RUNTIME_DIR ze_loader RUNTIME_OUTPUT_DIRECTORY )
257
+
256
258
# Create new target to treat level zero loader as an external dependency.
257
259
# This prevents it from being added to the export set.
258
260
# (Basically treat as if including via find_package)
259
261
add_library (pti_ze_loader INTERFACE IMPORTED )
260
- add_dependencies (pti_ze_loader ze_tracing_layer )
261
-
262
- set (PTI_LZ_COMPILE_OPTIONS $< $< CXX_COMPILER_ID:IntelLLVM> :-Wno-unused-parameter -Wno-cast-function-type-mismatch -Wno-extra-semi>
263
- $< $< CXX_COMPILER_ID:MSVC> :/wd6285
264
- $< $< CONFIG:Release> :/wd4702 /wd6385 /wd6386>> )
262
+ add_dependencies (pti_ze_loader ze_tracing_layer ze_validation_layer )
263
+
264
+ set (PTI_LZ_COMPILE_OPTIONS
265
+ $< $< CXX_COMPILER_ID:IntelLLVM> :
266
+ -Wno-error
267
+ -Wno-unused-parameter
268
+ -Wno-cast-function-type-mismatch
269
+ -Wno-extra-semi
270
+ >
271
+ $< $< CXX_COMPILER_ID:MSVC> :
272
+ /wd6285
273
+ $< $< CONFIG:Release> :/wd4702 /wd6385 /wd6386>
274
+ >
275
+ $< $< CXX_COMPILER_ID:GNU> :
276
+ -Wno-error
277
+ -Wno-unused-parameter
278
+ $< $< VERSION_GREATER_EQUAL:$< CXX_COMPILER_VERSION> ,8.0.0> :-Wno-extra-semi>
279
+ >
280
+ $< $< CXX_COMPILER_ID:Clang> :
281
+ -Wno-error
282
+ -Wno-unused-parameter
283
+ $< $< VERSION_GREATER_EQUAL:$< CXX_COMPILER_VERSION> ,3.0.0> :-Wno-extra-semi>
284
+ >
285
+ )
265
286
266
287
# Silence Warnings from Level Zero Loader. Allows us to better detect PTI
267
288
# warnings and errors.
268
- target_compile_options (ze_loader PRIVATE ${PTI_LZ_COMPILE_OPTIONS} )
269
- target_compile_options (ze_tracing_layer PRIVATE ${PTI_LZ_COMPILE_OPTIONS} )
270
- target_compile_options (ze_null PRIVATE ${PTI_LZ_COMPILE_OPTIONS} )
271
- target_compile_options (ze_validation_layer PRIVATE ${PTI_LZ_COMPILE_OPTIONS} )
272
- #target_compile_options(utils PRIVATE ${PTI_LZ_COMPILE_OPTIONS})
289
+ set_target_properties (ze_loader ze_tracing_layer ze_null ze_validation_layer
290
+ PROPERTIES
291
+ COMPILE_OPTIONS "${PTI_LZ_COMPILE_OPTIONS} "
292
+ RUNTIME_OUTPUT_DIRECTORY "${PTI_ZE_LOADER_RUNTIME_DIR} /loader" )
273
293
274
294
# Pull Headers out of source tree and add them to level_zero/
275
295
# This allows us to keep the normal way to include level zero
@@ -338,9 +358,8 @@ macro(AddApiGenTarget L0_GEN_SCRIPT GEN_FILE_NAME L0_TARGET)
338
358
# Use the target that links level zero to find the level zero library
339
359
if (TARGET LevelZero::level-zero )
340
360
get_target_property (L0_TARGET_PATH ${L0_TARGET} INTERFACE_INCLUDE_DIRECTORIES )
341
- message ("L0_Target_Path: ${L0_TARGET_PATH} " )
342
- message ("L0 Version: ${PTI_L0_LOADER} " )
343
- message ("L0 Hash: ${PTI_L0_LOADER_COMMIT_HASH} " )
361
+ include (CMakePrintHelpers )
362
+ cmake_print_variables (PTI_L0_LOADER PTI_L0_LOADER_COMMIT_HASH L0_TARGET_PATH )
344
363
endif ()
345
364
346
365
# HINTS before PATHS
0 commit comments