vcpkg/ports/arrow/portfile.cmake
Tanguy Fautre 8f34b4bccf
[Arrow] Update to 0.17.1 (#11472)
* [Arrow] Update to 0.17.1

* Remove arrow:x64-linux=fail from ci.baseline.txt.
Add explicit tool dependencies on Flex and Bison for Linux and OSX.

* Revert arrow dependency on Flex/Bison, it's Thrift that needs them and its portfile is already fine.

* Use vcpkg_fail_port_install(ON_ARCH x86 arm arm64) instead of custom check.
Remove thrift:x64-osx=fail from ci.baseline.txt (we know arrow depends on it, and arrow:x64-osx has been shown to work in 3rd party project).

* Disable using pkg-config files to locate dependencies in arrow

This is incompatible with vcpkg as these files refer to paths in the
packages directory rather than the installed directory, so this only
works if the packages haven't been cleaned.

* Mark thrift:x64-osx as still failing until a proper solution for Bison can be found.

* Update ports/arrow/portfile.cmake

Co-authored-by: Adam Reeve <adreeve@gmail.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
2020-06-09 15:41:24 -07:00

62 lines
1.9 KiB
CMake

vcpkg_fail_port_install(ON_ARCH "x86" "arm" "arm64")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/arrow
REF apache-arrow-0.17.1
SHA512 2a1a637d6df08e19d0c8313c51e1baf8902db677b072f8787c4f9faf8bdec94357ac8af839718d449377b508fe4f6e31b011cbdc6ccf029b6a66f567172569aa
HEAD_REF master
PATCHES
all.patch
)
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED)
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
"csv" ARROW_CSV
"json" ARROW_JSON
"parquet" ARROW_PARQUET
"filesystem" ARROW_FILESYSTEM
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/cpp
PREFER_NINJA
OPTIONS
-DARROW_DEPENDENCY_SOURCE=SYSTEM
-Duriparser_SOURCE=SYSTEM
-DARROW_BUILD_TESTS=off
${FEATURE_OPTIONS}
-DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC}
-DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED}
-DARROW_GFLAGS_USE_SHARED=off
-DARROW_JEMALLOC=off
-DARROW_BUILD_UTILITIES=OFF
-DARROW_WITH_BZ2=ON
-DARROW_WITH_ZLIB=ON
-DARROW_WITH_ZSTD=ON
-DARROW_WITH_LZ4=ON
-DARROW_WITH_SNAPPY=ON
-DARROW_WITH_BROTLI=ON
-DPARQUET_REQUIRE_ENCRYPTION=ON
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib)
message(FATAL_ERROR "Installed lib file should be named 'arrow.lib' via patching the upstream build.")
endif()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/arrow)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake)
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)