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}
7
10
PATCHES
8
- cuda-ptr .patch
11
+ brotli .patch
9
12
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
24
16
)
25
17
26
18
vcpkg_check_features (OUT_FEATURE_OPTIONS FEATURE_OPTIONS
27
19
FEATURES
28
20
csv ARROW_CSV
21
+ cuda ARROW_CUDA
29
22
dataset ARROW_DATASET
30
23
filesystem ARROW_FILESYSTEM
31
24
flight ARROW_FLIGHT
25
+ jemalloc ARROW_JEMALLOC
32
26
json ARROW_JSON
27
+ mimalloc ARROW_MIMALLOC
33
28
orc ARROW_ORC
34
29
parquet ARROW_PARQUET
35
30
parquet PARQUET_REQUIRE_ENCRYPTION
36
31
plasma ARROW_PLASMA
37
32
s3 ARROW_S3
38
- cuda ARROW_CUDA
39
33
)
40
34
41
35
if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW )
42
36
list (APPEND FEATURE_OPTIONS "-DARROW_USE_NATIVE_INT128=OFF" )
43
37
endif ()
44
38
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
-
57
39
string (COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED )
58
40
string (COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC )
59
41
string (COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_DEPENDENCY_USE_SHARED )
60
42
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
-
67
43
vcpkg_cmake_configure (
68
44
SOURCE_PATH "${SOURCE_PATH} /cpp"
69
45
OPTIONS
70
46
${FEATURE_OPTIONS}
71
- ${MALLOC_OPTIONS}
72
- ${S3_OPTIONS}
73
- -DCMAKE_SYSTEM_PROCESSOR=${VCPKG_TARGET_ARCHITECTURE}
74
47
-DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED}
75
48
-DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC}
76
49
-DARROW_BUILD_TESTS=OFF
77
50
-DARROW_DEPENDENCY_SOURCE=SYSTEM
78
51
-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
81
53
-DARROW_WITH_BROTLI=ON
82
54
-DARROW_WITH_BZ2=ON
83
55
-DARROW_WITH_LZ4=ON
84
56
-DARROW_WITH_SNAPPY=ON
85
57
-DARROW_WITH_ZLIB=ON
86
58
-DARROW_WITH_ZSTD=ON
59
+ -DBUILD_WARNING_LEVEL=PRODUCTION
60
+ -DCMAKE_SYSTEM_PROCESSOR=${VCPKG_TARGET_ARCHITECTURE}
87
61
-DZSTD_MSVC_LIB_PREFIX=
88
62
MAYBE_UNUSED_VARIABLES
89
63
ZSTD_MSVC_LIB_PREFIX
@@ -98,31 +72,31 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib")
98
72
message (FATAL_ERROR "Installed lib file should be named 'arrow.lib' via patching the upstream build." )
99
73
endif ()
100
74
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 )
102
83
103
84
file (INSTALL "${CMAKE_CURRENT_LIST_DIR} /usage" DESTINATION "${CURRENT_PACKAGES_DIR} /share/${PORT} " )
104
85
if ("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" )
109
86
file (READ "${CMAKE_CURRENT_LIST_DIR} /usage-parquet" usage-parquet )
110
87
file (APPEND "${CURRENT_PACKAGES_DIR} /share/${PORT} /usage" "${usage-parquet}" )
111
- else ()
112
- file (REMOVE "${CURRENT_PACKAGES_DIR} /share/${PORT} /FindParquet.cmake" )
113
88
endif ()
114
89
115
90
if ("example" IN_LIST FEATURES )
116
91
file (INSTALL "${SOURCE_PATH} /cpp/examples/minimal_build/" DESTINATION "${CURRENT_PACKAGES_DIR} /share/${PORT} /example" )
117
92
endif ()
118
93
119
- if ("plasma" IN_LIST FEATURES )
94
+ if ("plasma" IN_LIST FEATURES )
120
95
vcpkg_copy_tools (TOOL_NAMES plasma-store-server AUTO_CLEAN )
121
- endif ()
96
+ endif ()
122
97
123
98
file (REMOVE_RECURSE "${CURRENT_PACKAGES_DIR} /debug/include" )
124
99
file (REMOVE_RECURSE "${CURRENT_PACKAGES_DIR} /debug/share" )
125
100
file (REMOVE_RECURSE "${CURRENT_PACKAGES_DIR} /share/doc" )
126
101
127
- configure_file ("${CMAKE_CURRENT_LIST_DIR} /vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR} /share/${PORT} " @ONLY )
128
102
vcpkg_install_copyright (FILE_LIST "${SOURCE_PATH} /LICENSE.txt" "${SOURCE_PATH} /NOTICE.txt" )
0 commit comments