|
23 | 23 | onnxruntime_add_include_to_target(onnxruntime_providers_webgpu |
24 | 24 | onnxruntime_common dawn::dawncpp_headers dawn::dawn_headers onnx onnx_proto flatbuffers::flatbuffers Boost::mp11 safeint_interface) |
25 | 25 |
|
| 26 | + set(onnxruntime_providers_webgpu_dll_deps) |
| 27 | + |
26 | 28 | if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY) |
27 | 29 | target_link_libraries(onnxruntime_providers_webgpu dawn::webgpu_dawn) |
28 | 30 |
|
29 | | - if (onnxruntime_ENABLE_DELAY_LOADING_WIN_DLLS) |
30 | | - list(APPEND onnxruntime_DELAYLOAD_FLAGS "/DELAYLOAD:webgpu_dawn.dll") |
31 | | - endif() |
| 31 | + if (WIN32) |
| 32 | + if (onnxruntime_ENABLE_DELAY_LOADING_WIN_DLLS) |
| 33 | + list(APPEND onnxruntime_DELAYLOAD_FLAGS "/DELAYLOAD:webgpu_dawn.dll") |
| 34 | + endif() |
32 | 35 |
|
33 | | - # Copy webgpu_dawn.dll to the output directory |
34 | | - add_custom_command( |
35 | | - TARGET onnxruntime_providers_webgpu |
36 | | - POST_BUILD |
37 | | - COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:dawn::webgpu_dawn>" "$<TARGET_FILE_DIR:onnxruntime_providers_webgpu>" |
38 | | - VERBATIM ) |
| 36 | + list(APPEND onnxruntime_providers_webgpu_dll_deps "$<TARGET_FILE:dawn::webgpu_dawn>") |
| 37 | + endif() |
39 | 38 | else() |
40 | 39 | if (NOT onnxruntime_USE_EXTERNAL_DAWN) |
41 | 40 | target_link_libraries(onnxruntime_providers_webgpu dawn::dawn_native) |
|
48 | 47 | add_dependencies(onnxruntime_providers_webgpu copy_dxil_dll) |
49 | 48 | add_dependencies(onnxruntime_providers_webgpu dxcompiler) |
50 | 49 |
|
51 | | - # Copy dxil.dll and dxcompiler.dll to the output directory |
| 50 | + list(APPEND onnxruntime_providers_webgpu_dll_deps "$<TARGET_FILE_DIR:dxcompiler>/dxil.dll") |
| 51 | + list(APPEND onnxruntime_providers_webgpu_dll_deps "$<TARGET_FILE_DIR:dxcompiler>/dxcompiler.dll") |
| 52 | + endif() |
| 53 | + |
| 54 | + if (onnxruntime_providers_webgpu_dll_deps) |
| 55 | + # Copy dependency DLLs to the output directory |
52 | 56 | add_custom_command( |
53 | 57 | TARGET onnxruntime_providers_webgpu |
54 | 58 | POST_BUILD |
55 | | - COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE_DIR:dxcompiler>/dxil.dll" "$<TARGET_FILE_DIR:onnxruntime_providers_webgpu>" |
56 | | - COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE_DIR:dxcompiler>/dxcompiler.dll" "$<TARGET_FILE_DIR:onnxruntime_providers_webgpu>" |
| 59 | + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${onnxruntime_providers_webgpu_dll_deps}" "$<TARGET_FILE_DIR:onnxruntime_providers_webgpu>" |
| 60 | + COMMAND_EXPAND_LISTS |
57 | 61 | VERBATIM ) |
58 | 62 | endif() |
59 | 63 |
|
|
0 commit comments