From: Casey Date: Fri, 4 Feb 2022 21:02:52 +0000 (-0800) Subject: cmake: move Arrow targets into find_package modules X-Git-Tag: v17.2.0~18^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=af869182707c0a33e1a6b52b8b9c8b666b2e34b2;p=ceph.git cmake: move Arrow targets into find_package modules Signed-off-by: Casey (cherry picked from commit 5da406a4ee57b740e03506872465749d8201f50d) --- diff --git a/cmake/modules/FindArrow.cmake b/cmake/modules/FindArrow.cmake index 68024cc27609..39beed4b0515 100644 --- a/cmake/modules/FindArrow.cmake +++ b/cmake/modules/FindArrow.cmake @@ -32,6 +32,9 @@ # ARROW_VERSION_MINOR, minor version of found Arrow # ARROW_VERSION_PATCH, patch version of found Arrow +# cbodley copied this from the arrow submodule at v6.0.1 +# cbodley added the import target Arrow::Arrow to match build_arrow() + if(DEFINED ARROW_FOUND) return() endif() @@ -464,3 +467,11 @@ if(Arrow_FOUND AND NOT Arrow_FIND_QUIETLY) message(STATUS "Found the Arrow core import library: ${ARROW_IMPORT_LIB}") message(STATUS "Found the Arrow core static library: ${ARROW_STATIC_LIB}") endif() + +if(Arrow_FOUND AND NOT TARGET Arrow::Arrow) + add_library(Arrow::Arrow SHARED IMPORTED) + set_target_properties(Arrow::Arrow PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${ARROW_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${ARROW_SHARED_LIB}") +endif() diff --git a/cmake/modules/FindParquet.cmake b/cmake/modules/FindParquet.cmake index e071fc822b63..df5894774a6c 100644 --- a/cmake/modules/FindParquet.cmake +++ b/cmake/modules/FindParquet.cmake @@ -31,6 +31,9 @@ # PARQUET_SO_VERSION, shared object version of found Parquet such as "100" # PARQUET_STATIC_LIB, path to libparquet.a +# cbodley copied this from the arrow submodule at v6.0.1 +# cbodley added the import target Arrow::Parquet to match build_arrow() + if(DEFINED PARQUET_FOUND) return() endif() @@ -124,3 +127,11 @@ if(Parquet_FOUND AND NOT Parquet_FIND_QUIETLY) message(STATUS "Found the Parquet import library: ${PARQUET_IMPORT_LIB}") message(STATUS "Found the Parquet static library: ${PARQUET_STATIC_LIB}") endif() + +if(Parquet_FOUND AND NOT TARGET Arrow::Parquet) + add_library(Arrow::Parquet SHARED IMPORTED) + set_target_properties(Arrow::Parquet PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${PARQUET_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${PARQUET_SHARED_LIB}") +endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dc74e9543644..30cf3605468e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -858,19 +858,8 @@ endif(WITH_KVS) if(WITH_RADOSGW) if(WITH_RADOSGW_SELECT_PARQUET) if(WITH_SYSTEM_ARROW) - find_package(Arrow REQUIRED) - find_package(Parquet REQUIRED) - add_library(Arrow::Arrow SHARED IMPORTED) - set_target_properties(Arrow::Arrow PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${ARROW_INCLUDE_DIR}" - IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" - IMPORTED_LOCATION "${ARROW_SHARED_LIB}") - - add_library(Arrow::Parquet SHARED IMPORTED) - set_target_properties(Arrow::Parquet PROPERTIES - INTERFACE_LINK_LIBRARIES Arrow::Arrow - IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" - IMPORTED_LOCATION "${PARQUET_SHARED_LIB}") + find_package(Arrow 4 REQUIRED QUIET) + find_package(Parquet 4 REQUIRED QUIET) else() # find arrow's dependencies if (WITH_SYSTEM_UTF8PROC)