@@ -172,6 +172,12 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
172172  list  (APPEND  ORC_SYSTEM_DEPENDENCIES Protobuf)
173173  list  (APPEND  ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:protobuf::libprotobuf>" )
174174  set  (PROTOBUF_EXECUTABLE protobuf::protoc)
175+ elseif  (TARGET  ${ARROW_PROTOBUF_LIBPROTOBUF} )
176+   # Used by Apache Arrow only, remove this once Arrow leverages FetchContent for Protobuf 
177+   add_library  (orc_protobuf INTERFACE  IMPORTED )
178+   target_link_libraries (orc_protobuf INTERFACE  ${ARROW_PROTOBUF_LIBPROTOBUF} )
179+   set  (PROTOBUF_EXECUTABLE ${ARROW_PROTOBUF_PROTOC} )
180+   message (STATUS  "Using existing ${ARROW_PROTOBUF_LIBPROTOBUF} " )
175181elseif  (NOT  "${PROTOBUF_HOME} "  STREQUAL  "" )
176182  find_package  (ProtobufAlt REQUIRED)
177183
@@ -181,12 +187,6 @@ elseif (NOT "${PROTOBUF_HOME}" STREQUAL "")
181187    orc_add_resolved_library (orc_protobuf ${PROTOBUF_LIBRARY}  ${PROTOBUF_INCLUDE_DIR} )
182188  endif  ()
183189
184-   if  (ORC_PREFER_STATIC_PROTOBUF AND  PROTOC_STATIC_LIB)
185-     orc_add_resolved_library (orc_protoc ${PROTOC_STATIC_LIB}  ${PROTOBUF_INCLUDE_DIR} )
186-   else  ()
187-     orc_add_resolved_library (orc_protoc ${PROTOC_LIBRARY}  ${PROTOBUF_INCLUDE_DIR} )
188-   endif  ()
189- 
190190  list  (APPEND  ORC_SYSTEM_DEPENDENCIES ProtobufAlt)
191191  list  (APPEND  ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:protobuf::libprotobuf>" )
192192  orc_provide_find_module (ProtobufAlt)
@@ -275,6 +275,16 @@ elseif (NOT "${SNAPPY_HOME}" STREQUAL "")
275275  list  (APPEND  ORC_SYSTEM_DEPENDENCIES SnappyAlt)
276276  list  (APPEND  ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:Snappy::snappy>" )
277277  orc_provide_find_module (SnappyAlt)
278+ elseif  (TARGET  Snappy::snappy)
279+   # Used by Apache Arrow only, remove this once Arrow leverages FetchContent for Snappy 
280+   add_library  (orc_snappy INTERFACE  IMPORTED )
281+   target_link_libraries (orc_snappy INTERFACE  Snappy::snappy)
282+   message (STATUS  "Using existing Snappy::snappy" )
283+ elseif  (TARGET  Snappy::snappy-static )
284+   # Used by Apache Arrow only, remove this once Arrow leverages FetchContent for Snappy 
285+   add_library  (orc_snappy INTERFACE  IMPORTED )
286+   target_link_libraries (orc_snappy INTERFACE  Snappy::snappy-static )
287+   message (STATUS  "Using existing Snappy::snappy-static" )
278288else  ()
279289  block(PROPAGATE ORC_SYSTEM_DEPENDENCIES ORC_INSTALL_INTERFACE_TARGETS)
280290    prepare_fetchcontent()
@@ -357,6 +367,11 @@ elseif (NOT "${ZLIB_HOME}" STREQUAL "")
357367  list  (APPEND  ORC_SYSTEM_DEPENDENCIES ZLIBAlt)
358368  list  (APPEND  ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:ZLIB::ZLIB>" )
359369  orc_provide_find_module (ZLIBAlt)
370+ elseif  (TARGET  ZLIB::ZLIB)
371+   # Used by Apache Arrow only, remove this once Arrow leverages FetchContent for ZLIB 
372+   add_library  (orc_zlib INTERFACE  IMPORTED )
373+   target_link_libraries (orc_zlib INTERFACE  ZLIB::ZLIB)
374+   message (STATUS  "Using existing ZLIB::ZLIB" )
360375else  ()
361376  block(PROPAGATE ORC_SYSTEM_DEPENDENCIES ORC_INSTALL_INTERFACE_TARGETS ZLIB_LIBRARIES ZLIB_INCLUDE_DIRS)
362377    prepare_fetchcontent()
@@ -448,6 +463,16 @@ elseif (NOT "${ZSTD_HOME}" STREQUAL "")
448463  endif  ()
449464  list  (APPEND  ORC_SYSTEM_DEPENDENCIES ZSTDAlt)
450465  orc_provide_find_module (ZSTDAlt)
466+ elseif  (TARGET  zstd::libzstd_shared)
467+   # Used by Apache Arrow only, remove this once Arrow leverages FetchContent for zstd 
468+   add_library  (orc_zstd INTERFACE  IMPORTED )
469+   target_link_libraries (orc_zstd INTERFACE  zstd::libzstd_shared)
470+   message (STATUS  "Using existing zstd::libzstd_shared" )
471+ elseif  (TARGET  zstd::libzstd_static)
472+   # Used by Apache Arrow only, remove this once Arrow leverages FetchContent for zstd 
473+   add_library  (orc_zstd INTERFACE  IMPORTED )
474+   target_link_libraries (orc_zstd INTERFACE  zstd::libzstd_static)
475+   message (STATUS  "Using existing zstd::libzstd_static" )
451476else  ()
452477  block(PROPAGATE ORC_SYSTEM_DEPENDENCIES ORC_INSTALL_INTERFACE_TARGETS)
453478    prepare_fetchcontent()
0 commit comments