1- vcpkg_from_github (
2- OUT_SOURCE_PATH SOURCE_PATH
3- REPO apache/arrow
4- REF apache-arrow-9.0.0
5- SHA512 1191793dd56471fb2b402afbe9b31cde4c5126785243e538e42ba95ccd31d523121f07b144461c99a4b7449e611aa5998bd0de95e8e4b0e3c80397499fe746f0
6- HEAD_REF master
1+ vcpkg_download_distfile (
2+ ARCHIVE_PATH
3+ URLS "https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-${VERSION} /apache-arrow-${VERSION} .tar.gz"
4+ FILENAME apache-arrow-${VERSION}.tar.gz
5+ SHA512 0856cfda98af8ae75d7011b4b2cb7305592dc16edeb27be8a845ee762cd1c4484997634e9bfe3fdc2a359fcfe0cbe036e0747ee0ea49677979920b95d1b4ced3
6+ )
7+ vcpkg_extract_source_archive (
8+ SOURCE_PATH
9+ ARCHIVE ${ARCHIVE_PATH}
710 PATCHES
8- cuda-ptr .patch
11+ brotli .patch
912 msvc -static-name.patch
10- fix-ThirdPartyToolchain.patch
11- static -link-libs.patch # https://github.com/apache/arrow/pull/13707 & pull/13863
12- )
13- file (REMOVE "${SOURCE_PATH} /cpp/cmake_modules/Findzstd.cmake"
14- "${SOURCE_PATH} /cpp/cmake_modules/FindBrotli.cmake"
15- "${SOURCE_PATH} /cpp/cmake_modules/Find-c-aresAlt.cmake"
16- "${SOURCE_PATH} /cpp/cmake_modules/FindLz4.cmake"
17- "${SOURCE_PATH} /cpp/cmake_modules/FindSnappy.cmake"
18- "${SOURCE_PATH} /cpp/cmake_modules/FindThrift.cmake"
19- "${SOURCE_PATH} /cpp/cmake_modules/FindGLOG.cmake"
20- "${SOURCE_PATH} /cpp/cmake_modules/Findutf8proc.cmake"
21- "${SOURCE_PATH} /cpp/cmake_modules/FindRapidJSONAlt.cmake"
22- "${SOURCE_PATH} /cpp/cmake_modules/FindgRPCAlt.cmake"
23- "${SOURCE_PATH} /cpp/cmake_modules/FindgflagsAlt.cmake"
13+ processor-type.patch
14+ thrift.patch
15+ utf8proc.patch
2416)
2517
2618vcpkg_check_features (OUT_FEATURE_OPTIONS FEATURE_OPTIONS
2719 FEATURES
2820 csv ARROW_CSV
21+ cuda ARROW_CUDA
2922 dataset ARROW_DATASET
3023 filesystem ARROW_FILESYSTEM
3124 flight ARROW_FLIGHT
25+ jemalloc ARROW_JEMALLOC
3226 json ARROW_JSON
27+ mimalloc ARROW_MIMALLOC
3328 orc ARROW_ORC
3429 parquet ARROW_PARQUET
3530 parquet PARQUET_REQUIRE_ENCRYPTION
3631 plasma ARROW_PLASMA
3732 s3 ARROW_S3
38- cuda ARROW_CUDA
3933)
4034
4135if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
4236 list (APPEND FEATURE_OPTIONS "-DARROW_USE_NATIVE_INT128=OFF" )
4337endif ()
4438
45- if ("jemalloc" IN_LIST FEATURES)
46- set (MALLOC_OPTIONS -DARROW_JEMALLOC=ON )
47- else ()
48- set (MALLOC_OPTIONS -DARROW_JEMALLOC=OFF )
49- endif ()
50-
51- if ("mimalloc" IN_LIST FEATURES)
52- set (MALLOC_OPTIONS ${MALLOC_OPTIONS} -DARROW_MIMALLOC=ON )
53- else ()
54- set (MALLOC_OPTIONS ${MALLOC_OPTIONS} -DARROW_MIMALLOC=OFF )
55- endif ()
56-
5739string (COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED)
5840string (COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC)
5941string (COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_DEPENDENCY_USE_SHARED)
6042
61- if (VCPKG_TARGET_IS_WINDOWS)
62- set (THRIFT_USE_SHARED OFF )
63- else ()
64- set (THRIFT_USE_SHARED ${ARROW_DEPENDENCY_USE_SHARED} )
65- endif ()
66-
6743vcpkg_cmake_configure (
6844 SOURCE_PATH "${SOURCE_PATH} /cpp"
6945 OPTIONS
7046 ${FEATURE_OPTIONS}
71- ${MALLOC_OPTIONS}
72- ${S3_OPTIONS}
73- -DCMAKE_SYSTEM_PROCESSOR=${VCPKG_TARGET_ARCHITECTURE}
7447 -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED}
7548 -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC}
7649 -DARROW_BUILD_TESTS=OFF
7750 -DARROW_DEPENDENCY_SOURCE=SYSTEM
7851 -DARROW_DEPENDENCY_USE_SHARED=${ARROW_DEPENDENCY_USE_SHARED}
79- -DARROW_THRIFT_USE_SHARED=${THRIFT_USE_SHARED}
80- -DBUILD_WARNING_LEVEL=PRODUCTION
52+ -DARROW_PACKAGE_KIND=vcpkg
8153 -DARROW_WITH_BROTLI=ON
8254 -DARROW_WITH_BZ2=ON
8355 -DARROW_WITH_LZ4=ON
8456 -DARROW_WITH_SNAPPY=ON
8557 -DARROW_WITH_ZLIB=ON
8658 -DARROW_WITH_ZSTD=ON
59+ -DBUILD_WARNING_LEVEL=PRODUCTION
60+ -DCMAKE_SYSTEM_PROCESSOR=${VCPKG_TARGET_ARCHITECTURE}
8761 -DZSTD_MSVC_LIB_PREFIX=
8862 MAYBE_UNUSED_VARIABLES
8963 ZSTD_MSVC_LIB_PREFIX
@@ -98,31 +72,31 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib")
9872 message (FATAL_ERROR "Installed lib file should be named 'arrow.lib' via patching the upstream build." )
9973endif ()
10074
101- vcpkg_cmake_config_fixup (CONFIG_PATH lib/cmake/arrow )
75+ if ("parquet" IN_LIST FEATURES)
76+ vcpkg_cmake_config_fixup (
77+ PACKAGE_NAME parquet
78+ CONFIG_PATH lib/cmake/Parquet
79+ DO_NOT_DELETE_PARENT_CONFIG_PATH
80+ )
81+ endif ()
82+ vcpkg_cmake_config_fixup (CONFIG_PATH lib/cmake/Arrow )
10283
10384file (INSTALL "${CMAKE_CURRENT_LIST_DIR } /usage" DESTINATION "${CURRENT_PACKAGES_DIR} /share/${PORT} " )
10485if ("parquet" IN_LIST FEATURES)
105- file (GLOB PARQUET_FILES "${CURRENT_PACKAGES_DIR} /share/${PORT} /Parquet*" )
106- file (COPY ${PARQUET_FILES} DESTINATION "${CURRENT_PACKAGES_DIR} /share/parquet" )
107- file (REMOVE_RECURSE ${PARQUET_FILES} )
108- file (RENAME "${CURRENT_PACKAGES_DIR} /share/${PORT} /FindParquet.cmake" "${CURRENT_PACKAGES_DIR} /share/parquet/FindParquet.cmake" )
10986 file (READ "${CMAKE_CURRENT_LIST_DIR } /usage-parquet" usage-parquet )
11087 file (APPEND "${CURRENT_PACKAGES_DIR} /share/${PORT} /usage" "${usage-parquet} " )
111- else ()
112- file (REMOVE "${CURRENT_PACKAGES_DIR} /share/${PORT} /FindParquet.cmake" )
11388endif ()
11489
11590if ("example" IN_LIST FEATURES)
11691 file (INSTALL "${SOURCE_PATH} /cpp/examples/minimal_build/" DESTINATION "${CURRENT_PACKAGES_DIR} /share/${PORT} /example" )
11792endif ()
11893
119- if ("plasma" IN_LIST FEATURES)
94+ if ("plasma" IN_LIST FEATURES)
12095 vcpkg_copy_tools (TOOL_NAMES plasma-store-server AUTO_CLEAN )
121- endif ()
96+ endif ()
12297
12398file (REMOVE_RECURSE "${CURRENT_PACKAGES_DIR} /debug/include" )
12499file (REMOVE_RECURSE "${CURRENT_PACKAGES_DIR} /debug/share" )
125100file (REMOVE_RECURSE "${CURRENT_PACKAGES_DIR} /share/doc" )
126101
127- configure_file ("${CMAKE_CURRENT_LIST_DIR } /vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR} /share/${PORT} " @ONLY )
128102vcpkg_install_copyright (FILE_LIST "${SOURCE_PATH} /LICENSE.txt" "${SOURCE_PATH} /NOTICE.txt" )
0 commit comments