27 lines
1.3 KiB
Plaintext
27 lines
1.3 KiB
Plaintext
-- Ensure bundled ONNX and Protobuf headers are searched before system
|
|
-- headers such as /usr/local/include/google/protobuf and /usr/local/include/onnx.
|
|
-- Several find_package targets (nlohmann_json, Eigen3, Python) add
|
|
-- /usr/local/include as a regular include directory. Because it is listed
|
|
-- before the bundled protobuf interface include, the compiler picks up the
|
|
-- older system protobuf 29.x headers and the resulting object files expect an
|
|
-- ABI that the bundled protobuf 33.6 library does not provide, causing link
|
|
-- errors for RepeatedPtrFieldBase methods.
|
|
--- cmake/CMakeLists.txt.orig 2026-09-10 06:09:41 UTC
|
|
+++ cmake/CMakeLists.txt
|
|
@@ -1380,6 +1380,15 @@ function(onnxruntime_add_include_to_target dst_target)
|
|
endfunction()
|
|
|
|
function(onnxruntime_add_include_to_target dst_target)
|
|
+ # Prefer bundled dependency headers over any system copies that other
|
|
+ # imported targets may have placed on the include path.
|
|
+ if(DEFINED protobuf_SOURCE_DIR)
|
|
+ target_include_directories(${dst_target} PRIVATE
|
|
+ ${onnx_BINARY_DIR}
|
|
+ ${onnx_SOURCE_DIR}
|
|
+ ${protobuf_SOURCE_DIR}/src
|
|
+ ${protobuf_SOURCE_DIR}/third_party/utf8_range)
|
|
+ endif()
|
|
foreach(src_target ${ARGN})
|
|
if(TARGET ${src_target})
|
|
target_include_directories(${dst_target} PRIVATE $<TARGET_PROPERTY:${src_target},INTERFACE_INCLUDE_DIRECTORIES>)
|