Skip to content

Commit 798cd8d

Browse files
committed
fix cmake to copy files
1 parent db5d80b commit 798cd8d

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

cmake/onnxruntime_providers_webgpu.cmake

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,18 @@
2323
onnxruntime_add_include_to_target(onnxruntime_providers_webgpu
2424
onnxruntime_common dawn::dawncpp_headers dawn::dawn_headers onnx onnx_proto flatbuffers::flatbuffers Boost::mp11 safeint_interface)
2525

26+
set(onnxruntime_providers_webgpu_dll_deps)
27+
2628
if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY)
2729
target_link_libraries(onnxruntime_providers_webgpu dawn::webgpu_dawn)
2830

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()
3235

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()
3938
else()
4039
if (NOT onnxruntime_USE_EXTERNAL_DAWN)
4140
target_link_libraries(onnxruntime_providers_webgpu dawn::dawn_native)
@@ -48,12 +47,17 @@
4847
add_dependencies(onnxruntime_providers_webgpu copy_dxil_dll)
4948
add_dependencies(onnxruntime_providers_webgpu dxcompiler)
5049

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
5256
add_custom_command(
5357
TARGET onnxruntime_providers_webgpu
5458
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
5761
VERBATIM )
5862
endif()
5963

0 commit comments

Comments
 (0)