Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
d4f0062
ARROW-12175: [C++] Fix CMake packages
kou Aug 16, 2022
7e2d736
Require CMake 3.18 or later for backward compatibility targets
kou Aug 16, 2022
6fe34fa
Use Parquet::
kou Aug 16, 2022
7cbb12d
Fix a typo
kou Aug 16, 2022
b8ddc3a
Fix link order
kou Aug 16, 2022
3f31e8a
Fix dependency for bundled_dependencies
kou Aug 16, 2022
b0b4f9f
Define ARROW_INCLUDE_DIR for backward compatibility
kou Aug 17, 2022
ab29809
Add namespace
kou Aug 17, 2022
28fd070
Detect OpenSSL installed by Homebrew
kou Aug 17, 2022
a6f72a7
Add missing Parquet dependency
kou Aug 17, 2022
9349403
Fix a typo
kou Aug 17, 2022
d837c38
Fix link scope
kou Aug 17, 2022
6b7729b
Update CMake package directory name
kou Aug 22, 2022
706cbd7
Fix style
kou Aug 22, 2022
51c45e8
Fix a typo
kou Aug 22, 2022
3cb0fb6
Fix link order
kou Aug 22, 2022
8478f8f
Fix a typo
kou Aug 22, 2022
2bab072
Fix CMake 3.18 or later detection
kou Aug 22, 2022
06d1bac
Update formula
kou Aug 22, 2022
fdf9c89
Update paths
kou Aug 22, 2022
3c96ad1
Fix a typo
kou Aug 22, 2022
0d70448
Define CMAKE_PREFIX_PATH
kou Aug 22, 2022
38fe454
Define backward compatibility variables
kou Aug 22, 2022
a4925ad
Add missing variable definition
kou Aug 22, 2022
241daae
Provide more backward compatibility variables
kou Aug 23, 2022
0b5d207
Add missing variable
kou Aug 23, 2022
e6ccba2
Add support for IMPORTED_LOCATION_${CONFIG}
kou Aug 24, 2022
520e233
Set CMAKE_PREFIX_PATH again
kou Aug 24, 2022
d1528e4
Use CONDA_BACKUP_CMAKE_PREFIX_PATH
kou Aug 24, 2022
6dca6ca
Remove needless workaround
kou Aug 25, 2022
c8c7717
Simplify
kou Aug 25, 2022
4ca502c
LLVM::LLVM_LIBS is needed only for Windows
kou Aug 25, 2022
35c9218
Use resolve_dependency()
kou Aug 26, 2022
a6623ed
Add llvmdev dependency to pyarrow
kou Aug 26, 2022
eaba310
Add clangdev dependency to pyarrow
kou Aug 26, 2022
9c17068
Add clangdev and llvmdev dependencied to pyarrow-test
kou Aug 27, 2022
e567ec4
Adapt PyArrow C++
kou Aug 27, 2022
3e963ff
Fix CI errors
kou Aug 27, 2022
c50368d
Remove needless lib/cmake from CMAKE_PREFIX_PATH
kou Aug 27, 2022
ac386f3
Remove needless thrift::thrift dependency
kou Aug 28, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ci/scripts/python_wheel_macos_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ export PYARROW_WITH_S3=${ARROW_S3}
export PYARROW_CMAKE_OPTIONS="-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} -DARROW_SIMD_LEVEL=${ARROW_SIMD_LEVEL}"
export ARROW_HOME=${build_dir}/install
# PyArrow build configuration
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:${build_dir}/install/lib/pkgconfig
export CMAKE_PREFIX_PATH=${build_dir}/install
# Set PyArrow version explicitly
export SETUPTOOLS_SCM_PRETEND_VERSION=${PYARROW_VERSION}

Expand Down
2 changes: 1 addition & 1 deletion ci/scripts/python_wheel_manylinux_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ export PYARROW_WITH_SUBSTRAIT=${ARROW_SUBSTRAIT}
export PYARROW_WITH_S3=${ARROW_S3}
export ARROW_HOME=/tmp/arrow-dist
# PyArrow build configuration
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/tmp/arrow-dist/lib/pkgconfig
export CMAKE_PREFIX_PATH=/tmp/arrow-dist

pushd /arrow/python
python setup.py bdist_wheel
Expand Down
1 change: 1 addition & 0 deletions ci/scripts/python_wheel_windows_build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ set PYARROW_WITH_PARQUET_ENCRYPTION=%PARQUET_REQUIRE_ENCRYPTION%
set PYARROW_WITH_SUBSTRAIT=%ARROW_SUBSTRAIT%
set PYARROW_WITH_S3=%ARROW_S3%
set ARROW_HOME=C:\arrow-dist
set CMAKE_PREFIX_PATH=C:\arrow-dist

pushd C:\arrow\python
@REM bundle the msvc runtime
Expand Down
70 changes: 23 additions & 47 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ endif()
set(ARROW_GDB_DIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/gdb")
set(ARROW_FULL_GDB_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}/gdb")
set(ARROW_GDB_AUTO_LOAD_DIR "${CMAKE_INSTALL_DATADIR}/gdb/auto-load")
set(ARROW_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
set(ARROW_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake")
set(ARROW_DOC_DIR "share/doc/${PROJECT_NAME}")

set(BUILD_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/build-support")
Expand All @@ -148,30 +148,6 @@ string(REGEX REPLACE "^CLANG_TOOLS=" "" ARROW_CLANG_TOOLS_VERSION
string(REGEX REPLACE "^([0-9]+)(\\..+)?" "\\1" ARROW_CLANG_TOOLS_VERSION_MAJOR
"${ARROW_CLANG_TOOLS_VERSION}")

if(APPLE)
find_program(BREW_BIN brew)
if(BREW_BIN)
execute_process(COMMAND ${BREW_BIN} --prefix
"llvm@${ARROW_LLVM_VERSION_PRIMARY_MAJOR}"
OUTPUT_VARIABLE LLVM_BREW_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT LLVM_BREW_PREFIX)
execute_process(COMMAND ${BREW_BIN} --prefix llvm
OUTPUT_VARIABLE LLVM_BREW_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()

execute_process(COMMAND ${BREW_BIN} --prefix "llvm@${ARROW_CLANG_TOOLS_VERSION_MAJOR}"
OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT CLANG_TOOLS_BREW_PREFIX)
execute_process(COMMAND ${BREW_BIN} --prefix llvm
OUTPUT_VARIABLE CLANG_TOOLS_BREW_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
endif()
endif()

if(WIN32 AND NOT MINGW)
# This is used to handle builds using e.g. clang in an MSVC setting.
set(MSVC_TOOLCHAIN TRUE)
Expand Down Expand Up @@ -719,26 +695,27 @@ endif()
# Note that arrow::hadoop is a header only target that refers
# cpp/thirdparty/hadoop/include/. See
# cpp/cmake_modules/ThirdpartyToolchain.cmake for details.
set(ARROW_LINK_LIBS arrow::flatbuffers arrow::hadoop)
set(ARROW_SHARED_LINK_LIBS arrow::flatbuffers arrow::hadoop)
set(ARROW_SHARED_INSTALL_INTERFACE_LIBS)
set(ARROW_STATIC_LINK_LIBS arrow::flatbuffers arrow::hadoop)
set(ARROW_STATIC_INSTALL_INTERFACE_LIBS)

if(ARROW_USE_BOOST)
list(APPEND ARROW_LINK_LIBS Boost::headers)
list(APPEND ARROW_SHARED_LINK_LIBS Boost::headers)
list(APPEND ARROW_STATIC_LINK_LIBS Boost::headers)
endif()

if(ARROW_USE_OPENSSL)
set(ARROW_OPENSSL_LIBS OpenSSL::Crypto OpenSSL::SSL)
list(APPEND ARROW_LINK_LIBS ${ARROW_OPENSSL_LIBS})
list(APPEND ARROW_SHARED_LINK_LIBS ${ARROW_OPENSSL_LIBS})
list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_OPENSSL_LIBS})
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS ${ARROW_OPENSSL_LIBS})
endif()

if(ARROW_WITH_BROTLI)
# Order is important for static linking
set(ARROW_BROTLI_LIBS Brotli::brotlienc Brotli::brotlidec Brotli::brotlicommon)
list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS})
list(APPEND ARROW_SHARED_LINK_LIBS ${ARROW_BROTLI_LIBS})
list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS})
if(Brotli_SOURCE STREQUAL "SYSTEM")
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS ${ARROW_BROTLI_LIBS})
Expand Down Expand Up @@ -781,7 +758,7 @@ if(ARROW_WITH_ZSTD)
endif()

if(ARROW_ORC)
list(APPEND ARROW_LINK_LIBS orc::liborc ${ARROW_PROTOBUF_LIBPROTOBUF})
list(APPEND ARROW_SHARED_LINK_LIBS orc::liborc ${ARROW_PROTOBUF_LIBPROTOBUF})
list(APPEND ARROW_STATIC_LINK_LIBS orc::liborc ${ARROW_PROTOBUF_LIBPROTOBUF})
if(ORC_SOURCE STREQUAL "SYSTEM")
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS orc::liborc
Expand All @@ -790,15 +767,15 @@ if(ARROW_ORC)
endif()

if(ARROW_GCS)
list(APPEND ARROW_LINK_LIBS google-cloud-cpp::storage)
list(APPEND ARROW_SHARED_LINK_LIBS google-cloud-cpp::storage)
list(APPEND ARROW_STATIC_LINK_LIBS google-cloud-cpp::storage)
if(google_cloud_cpp_storage_SOURCE STREQUAL "SYSTEM")
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS google-cloud-cpp::storage)
endif()
endif()

if(ARROW_USE_GLOG)
list(APPEND ARROW_LINK_LIBS glog::glog)
list(APPEND ARROW_SHARED_LINK_LIBS glog::glog)
list(APPEND ARROW_STATIC_LINK_LIBS glog::glog)
if(GLOG_SOURCE STREQUAL "SYSTEM")
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS glog::glog)
Expand All @@ -807,13 +784,13 @@ if(ARROW_USE_GLOG)
endif()

if(ARROW_S3)
list(APPEND ARROW_LINK_LIBS ${AWSSDK_LINK_LIBRARIES})
list(APPEND ARROW_SHARED_LINK_LIBS ${AWSSDK_LINK_LIBRARIES})
list(APPEND ARROW_STATIC_LINK_LIBS ${AWSSDK_LINK_LIBRARIES})
endif()

if(ARROW_WITH_OPENTELEMETRY)
list(APPEND
ARROW_LINK_LIBS
ARROW_SHARED_LINK_LIBS
opentelemetry-cpp::trace
opentelemetry-cpp::ostream_span_exporter
opentelemetry-cpp::otlp_http_exporter)
Expand All @@ -836,28 +813,28 @@ if(ARROW_WITH_OPENTELEMETRY)
endif()

if(ARROW_WITH_UTF8PROC)
list(APPEND ARROW_LINK_LIBS utf8proc::utf8proc)
list(APPEND ARROW_SHARED_LINK_LIBS utf8proc::utf8proc)
list(APPEND ARROW_STATIC_LINK_LIBS utf8proc::utf8proc)
if(utf8proc_SOURCE STREQUAL "SYSTEM")
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS utf8proc::utf8proc)
endif()
endif()

if(ARROW_WITH_RE2)
list(APPEND ARROW_LINK_LIBS re2::re2)
list(APPEND ARROW_SHARED_LINK_LIBS re2::re2)
list(APPEND ARROW_STATIC_LINK_LIBS re2::re2)
if(re2_SOURCE STREQUAL "SYSTEM")
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS re2::re2)
endif()
endif()

if(ARROW_WITH_RAPIDJSON)
list(APPEND ARROW_LINK_LIBS rapidjson::rapidjson)
list(APPEND ARROW_SHARED_LINK_LIBS rapidjson::rapidjson)
list(APPEND ARROW_STATIC_LINK_LIBS rapidjson::rapidjson)
endif()

if(ARROW_USE_XSIMD)
list(APPEND ARROW_LINK_LIBS xsimd)
list(APPEND ARROW_SHARED_LINK_LIBS xsimd)
list(APPEND ARROW_STATIC_LINK_LIBS xsimd)
endif()

Expand All @@ -884,8 +861,7 @@ endif()
set(ARROW_SHARED_PRIVATE_LINK_LIBS ${ARROW_STATIC_LINK_LIBS})

if(NOT MSVC_TOOLCHAIN)
list(APPEND ARROW_LINK_LIBS ${CMAKE_DL_LIBS})
list(APPEND ARROW_SHARED_INSTALL_INTERFACE_LIBS ${CMAKE_DL_LIBS})
list(APPEND ARROW_SHARED_LINK_LIBS ${CMAKE_DL_LIBS})
endif()

set(ARROW_TEST_LINK_TOOLCHAIN arrow::flatbuffers GTest::gtest_main GTest::gtest
Expand All @@ -901,11 +877,11 @@ if(ARROW_BUILD_BENCHMARKS)
toolchain-benchmarks)
endif()

set(ARROW_TEST_STATIC_LINK_LIBS arrow_testing_static arrow_static ${ARROW_LINK_LIBS}
${ARROW_TEST_LINK_TOOLCHAIN})
set(ARROW_TEST_STATIC_LINK_LIBS arrow_testing_static arrow_static
${ARROW_SHARED_LINK_LIBS} ${ARROW_TEST_LINK_TOOLCHAIN})

set(ARROW_TEST_SHARED_LINK_LIBS arrow_testing_shared arrow_shared ${ARROW_LINK_LIBS}
${ARROW_TEST_LINK_TOOLCHAIN})
set(ARROW_TEST_SHARED_LINK_LIBS arrow_testing_shared arrow_shared
${ARROW_SHARED_LINK_LIBS} ${ARROW_TEST_LINK_TOOLCHAIN})

if(NOT MSVC)
set(ARROW_TEST_SHARED_LINK_LIBS ${ARROW_TEST_SHARED_LINK_LIBS} ${CMAKE_DL_LIBS})
Expand Down Expand Up @@ -945,13 +921,13 @@ if(ARROW_BUILD_BENCHMARKS)
endif()

if(ARROW_JEMALLOC)
list(APPEND ARROW_LINK_LIBS jemalloc)
list(APPEND ARROW_SHARED_LINK_LIBS jemalloc)
list(APPEND ARROW_STATIC_LINK_LIBS jemalloc)
endif()

if(ARROW_MIMALLOC)
add_definitions(-DARROW_MIMALLOC)
list(APPEND ARROW_LINK_LIBS mimalloc::mimalloc)
list(APPEND ARROW_SHARED_LINK_LIBS mimalloc::mimalloc)
list(APPEND ARROW_STATIC_LINK_LIBS mimalloc::mimalloc)
endif()

Expand All @@ -975,7 +951,7 @@ if(NOT WIN32 AND NOT APPLE)
list(APPEND ARROW_SYSTEM_LINK_LIBS rt)
endif()

list(APPEND ARROW_LINK_LIBS ${ARROW_SYSTEM_LINK_LIBS})
list(APPEND ARROW_SHARED_LINK_LIBS ${ARROW_SYSTEM_LINK_LIBS})
list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_SYSTEM_LINK_LIBS})
list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS ${ARROW_SYSTEM_LINK_LIBS})

Expand Down
89 changes: 46 additions & 43 deletions cpp/cmake_modules/BuildUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ endfunction()

# Based on MIT-licensed
# https://gist.github.com/cristianadam/ef920342939a89fae3e8a85ca9459b49
function(create_merged_static_lib output_target)
function(arrow_create_merged_static_lib output_target)
set(options)
set(one_value_args NAME ROOT)
set(multi_value_args TO_MERGE)
Expand Down Expand Up @@ -136,17 +136,37 @@ function(create_merged_static_lib output_target)
message(FATAL_ERROR "Unknown bundle scenario!")
endif()

add_custom_command(COMMAND ${BUNDLE_COMMAND}
OUTPUT ${output_lib_path}
COMMENT "Bundling ${output_lib_path}"
VERBATIM)
add_custom_target(${output_target}_merge ALL
${BUNDLE_COMMAND}
DEPENDS ${ARG_ROOT} ${ARG_TO_MERGE}
BYPRODUCTS ${output_lib_path}
COMMENT "Bundling ${output_lib_path}"
VERBATIM)

message(STATUS "Creating bundled static library target ${output_target} at ${output_lib_path}"
)

add_custom_target(${output_target} ALL DEPENDS ${output_lib_path})
add_dependencies(${output_target} ${ARG_ROOT} ${ARG_TO_MERGE})
install(FILES ${output_lib_path} DESTINATION ${CMAKE_INSTALL_LIBDIR})
add_library(${output_target} STATIC IMPORTED)
set_target_properties(${output_target} PROPERTIES IMPORTED_LOCATION ${output_lib_path})
add_dependencies(${output_target} ${output_target}_merge)
endfunction()

function(arrow_install_cmake_package PACKAGE_NAME EXPORT_NAME)
set(CONFIG_CMAKE "${PACKAGE_NAME}Config.cmake")
set(BUILT_CONFIG_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_CMAKE}")
configure_package_config_file("${CONFIG_CMAKE}.in" "${BUILT_CONFIG_CMAKE}"
INSTALL_DESTINATION "${ARROW_CMAKE_DIR}/${PACKAGE_NAME}")
set(CONFIG_VERSION_CMAKE "${PACKAGE_NAME}ConfigVersion.cmake")
set(BUILT_CONFIG_VERSION_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_VERSION_CMAKE}")
write_basic_package_version_file("${BUILT_CONFIG_VERSION_CMAKE}"
COMPATIBILITY SameMajorVersion)
install(FILES "${BUILT_CONFIG_CMAKE}" "${BUILT_CONFIG_VERSION_CMAKE}"
DESTINATION "${ARROW_CMAKE_DIR}/${PACKAGE_NAME}")
set(TARGETS_CMAKE "${PACKAGE_NAME}Targets.cmake")
install(EXPORT ${EXPORT_NAME}
DESTINATION "${ARROW_CMAKE_DIR}/${PACKAGE_NAME}"
NAMESPACE "${PACKAGE_NAME}::"
FILE "${TARGETS_CMAKE}")
endfunction()

# \arg OUTPUTS list to append built targets to
Expand Down Expand Up @@ -247,9 +267,17 @@ function(ADD_ARROW_LIB LIB_NAME)
if(ARG_PRIVATE_INCLUDES)
target_include_directories(${LIB_NAME}_objlib PRIVATE ${ARG_PRIVATE_INCLUDES})
endif()
target_link_libraries(${LIB_NAME}_objlib
PRIVATE ${ARG_SHARED_LINK_LIBS} ${ARG_SHARED_PRIVATE_LINK_LIBS}
${ARG_STATIC_LINK_LIBS})
if(BUILD_SHARED)
if(ARG_SHARED_LINK_LIBS)
target_link_libraries(${LIB_NAME}_objlib PRIVATE ${ARG_SHARED_LINK_LIBS})
endif()
if(ARG_SHARED_PRIVATE_LINK_LIBS)
target_link_libraries(${LIB_NAME}_objlib PRIVATE ${ARG_SHARED_PRIVATE_LINK_LIBS})
endif()
endif()
if(BUILD_STATIC AND ARG_STATIC_LINK_LIBS)
target_link_libraries(${LIB_NAME}_objlib PRIVATE ${ARG_STATIC_LINK_LIBS})
endif()
else()
# Prepare arguments for separate compilation of static and shared libs below
# TODO: add PCH directives
Expand Down Expand Up @@ -309,11 +337,9 @@ function(ADD_ARROW_LIB LIB_NAME)
SOVERSION "${ARROW_SO_VERSION}")

target_link_libraries(${LIB_NAME}_shared
LINK_PUBLIC
"$<BUILD_INTERFACE:${ARG_SHARED_LINK_LIBS}>"
"$<INSTALL_INTERFACE:${ARG_SHARED_INSTALL_INTERFACE_LIBS}>"
LINK_PRIVATE
${ARG_SHARED_PRIVATE_LINK_LIBS})
PUBLIC "$<BUILD_INTERFACE:${ARG_SHARED_LINK_LIBS}>"
"$<INSTALL_INTERFACE:${ARG_SHARED_INSTALL_INTERFACE_LIBS}>"
PRIVATE ${ARG_SHARED_PRIVATE_LINK_LIBS})

if(USE_OBJLIB)
# Ensure that dependencies are built before compilation of objects in
Expand Down Expand Up @@ -394,8 +420,9 @@ function(ADD_ARROW_LIB LIB_NAME)
OUTPUT_NAME ${LIB_NAME_STATIC})

if(ARG_STATIC_INSTALL_INTERFACE_LIBS)
target_link_libraries(${LIB_NAME}_static LINK_PUBLIC
"$<INSTALL_INTERFACE:${ARG_STATIC_INSTALL_INTERFACE_LIBS}>")
target_link_libraries(${LIB_NAME}_static
INTERFACE "$<INSTALL_INTERFACE:${ARG_STATIC_INSTALL_INTERFACE_LIBS}>"
)
endif()

if(ARG_STATIC_LINK_LIBS)
Expand All @@ -422,26 +449,7 @@ function(ADD_ARROW_LIB LIB_NAME)
endif()

if(ARG_CMAKE_PACKAGE_NAME)
arrow_install_cmake_find_module("${ARG_CMAKE_PACKAGE_NAME}")

set(TARGETS_CMAKE "${ARG_CMAKE_PACKAGE_NAME}Targets.cmake")
install(EXPORT ${LIB_NAME}_targets
FILE "${TARGETS_CMAKE}"
DESTINATION "${ARROW_CMAKE_DIR}")

set(CONFIG_CMAKE "${ARG_CMAKE_PACKAGE_NAME}Config.cmake")
set(BUILT_CONFIG_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_CMAKE}")
configure_package_config_file("${CONFIG_CMAKE}.in" "${BUILT_CONFIG_CMAKE}"
INSTALL_DESTINATION "${ARROW_CMAKE_DIR}")
install(FILES "${BUILT_CONFIG_CMAKE}" DESTINATION "${ARROW_CMAKE_DIR}")

set(CONFIG_VERSION_CMAKE "${ARG_CMAKE_PACKAGE_NAME}ConfigVersion.cmake")
set(BUILT_CONFIG_VERSION_CMAKE "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_VERSION_CMAKE}")
write_basic_package_version_file(
"${BUILT_CONFIG_VERSION_CMAKE}"
VERSION ${${PROJECT_NAME}_VERSION}
COMPATIBILITY AnyNewerVersion)
install(FILES "${BUILT_CONFIG_VERSION_CMAKE}" DESTINATION "${ARROW_CMAKE_DIR}")
arrow_install_cmake_package(${ARG_CMAKE_PACKAGE_NAME} ${LIB_NAME}_targets)
endif()

if(ARG_PKG_CONFIG_NAME)
Expand Down Expand Up @@ -906,11 +914,6 @@ function(ARROW_ADD_PKG_CONFIG MODULE)
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
endfunction()

function(ARROW_INSTALL_CMAKE_FIND_MODULE MODULE)
install(FILES "${ARROW_SOURCE_DIR}/cmake_modules/Find${MODULE}.cmake"
DESTINATION "${ARROW_CMAKE_DIR}")
endfunction()

# Implementations of lisp "car" and "cdr" functions
macro(ARROW_CAR var)
set(${var} ${ARGV1})
Expand Down
Loading