From ddd23693781cd17f0e7fd3678d928527dc175772 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Thu, 24 Jul 2025 13:37:28 +0200 Subject: [PATCH] DPL: add component for Arrow Acero Streaming Engine --- dependencies/O2Dependencies.cmake | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/dependencies/O2Dependencies.cmake b/dependencies/O2Dependencies.cmake index 0e0b1caf7d3ba..26f381a4ef79f 100644 --- a/dependencies/O2Dependencies.cmake +++ b/dependencies/O2Dependencies.cmake @@ -65,6 +65,33 @@ if(NOT TARGET ArrowDataset::arrow_dataset_shared) ) endif() +if(NOT TARGET ArrowAcero::arrow_acero_shared) + # ArrowAcero::arrow_acero_shared is linked for no reason to parquet + # so we cannot use it because we do not want to build parquet itself. + # For that reason at the moment we need to do the lookup by hand. + get_target_property(ARROW_SHARED_LOCATION Arrow::arrow_shared LOCATION) + get_filename_component(ARROW_SHARED_DIR ${ARROW_SHARED_LOCATION} DIRECTORY) + + find_library(ARROW_ACERO_SHARED arrow_acero + PATHS ${ARROW_SHARED_DIR} + NO_DEFAULT_PATH + ) + + if(ARROW_ACERO_SHARED) + message(STATUS + "Found arrow_acero_shared library at: ${ARROW_ACERO_SHARED}") + else() + message(FATAL_ERROR + "arrow_acero_shared library not found in ${ARROW_SHARED_DIR}") + endif() + + # Step 3: Create a target for ArrowAcero::arrow_acero_shared + add_library(ArrowAcero::arrow_acero_shared SHARED IMPORTED) + set_target_properties(ArrowAcero::arrow_acero_shared PROPERTIES + IMPORTED_LOCATION ${ARROW_ACERO_SHARED} + ) +endif() + if (NOT TARGET Gandiva::gandiva_shared) add_library(Gandiva::gandiva_shared ALIAS gandiva_shared) endif()