@@ -224,11 +224,6 @@ onnxruntime_fetchcontent_makeavailable(Protobuf)
224224if (Protobuf_FOUND)
225225 message (STATUS "Using protobuf from find_package(or vcpkg). Protobuf version: ${Protobuf_VERSION} " )
226226else ()
227- if (protobuf_SOURCE_DIR)
228- if (onnxruntime_USE_WEBGPU)
229- set (DAWN_PROTOBUF_DIR ${protobuf_SOURCE_DIR} )
230- endif ()
231- endif ()
232227 # Adjust warning flags
233228 if (TARGET libprotoc)
234229 if (NOT MSVC )
@@ -645,19 +640,28 @@ if (onnxruntime_USE_WEBGPU)
645640 set (DAWN_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
646641 set (DAWN_ENABLE_NULL OFF CACHE BOOL "" FORCE)
647642 set (DAWN_FETCH_DEPENDENCIES ON CACHE BOOL "" FORCE)
643+ set (DAWN_BUILD_PROTOBUF OFF CACHE BOOL "" FORCE)
648644 set (DAWN_BUILD_TESTS OFF CACHE BOOL "" FORCE)
649645 if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten" )
650- if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY )
651- set (DAWN_BUILD_MONOLITHIC_LIBRARY ON CACHE BOOL "" FORCE)
646+ if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY )
647+ set (DAWN_BUILD_MONOLITHIC_LIBRARY SHARED CACHE BOOL "" FORCE)
652648 set (DAWN_ENABLE_INSTALL ON CACHE BOOL "" FORCE)
653649
654650 if (onnxruntime_USE_EXTERNAL_DAWN)
655- message (FATAL_ERROR "onnxruntime_USE_EXTERNAL_DAWN and onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY cannot be enabled at the same time." )
651+ message (FATAL_ERROR "onnxruntime_USE_EXTERNAL_DAWN and onnxruntime_BUILD_DAWN_SHARED_LIBRARY cannot be enabled at the same time." )
656652 endif ()
657653 else ()
658654 # use dawn::dawn_native and dawn::dawn_proc instead of the monolithic dawn::webgpu_dawn to minimize binary size
659655 set (DAWN_BUILD_MONOLITHIC_LIBRARY OFF CACHE BOOL "" FORCE)
660656 set (DAWN_ENABLE_INSTALL OFF CACHE BOOL "" FORCE)
657+
658+ # use the same protobuf/abseil for ORT and Dawn when static linking
659+ if (abseil_cpp_SOURCE_DIR)
660+ set (DAWN_ABSEIL_DIR ${abseil_cpp_SOURCE_DIR} )
661+ endif ()
662+ if (protobuf_SOURCE_DIR)
663+ set (DAWN_PROTOBUF_DIR ${protobuf_SOURCE_DIR} )
664+ endif ()
661665 endif ()
662666
663667 if (onnxruntime_ENABLE_PIX_FOR_WEBGPU_EP)
@@ -714,6 +718,7 @@ if (onnxruntime_USE_WEBGPU)
714718 set (DAWN_ENABLE_D3D11 OFF CACHE BOOL "" FORCE)
715719 endif ()
716720 endif ()
721+
717722 if (onnxruntime_CUSTOM_DAWN_SRC_PATH)
718723 # use the custom dawn source path if provided
719724 #
@@ -766,7 +771,7 @@ if (onnxruntime_USE_WEBGPU)
766771 endif ()
767772
768773 if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten" )
769- if (onnxruntime_BUILD_DAWN_MONOLITHIC_LIBRARY )
774+ if (onnxruntime_BUILD_DAWN_SHARED_LIBRARY )
770775 list (APPEND onnxruntime_EXTERNAL_LIBRARIES dawn::webgpu_dawn)
771776 else ()
772777 if (NOT onnxruntime_USE_EXTERNAL_DAWN)
0 commit comments