Skip to content

Commit 4511ac6

Browse files
committed
WIP: Simplify CMake integration with Apache ORC
1 parent c6ef0fe commit 4511ac6

1 file changed

Lines changed: 17 additions & 59 deletions

File tree

cpp/cmake_modules/ThirdpartyToolchain.cmake

Lines changed: 17 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -4617,71 +4617,18 @@ function(build_orc)
46174617

46184618
message(STATUS "Building Apache ORC from source")
46194619

4620-
if(LZ4_VENDORED)
4621-
set(ORC_LZ4_TARGET lz4_static)
4622-
set(ORC_LZ4_ROOT "${lz4_SOURCE_DIR}")
4623-
set(ORC_LZ4_INCLUDE_DIR "${lz4_SOURCE_DIR}/lib")
4624-
else()
4625-
set(ORC_LZ4_TARGET LZ4::lz4)
4626-
get_target_property(ORC_LZ4_INCLUDE_DIR ${ORC_LZ4_TARGET}
4627-
INTERFACE_INCLUDE_DIRECTORIES)
4628-
get_filename_component(ORC_LZ4_ROOT "${ORC_LZ4_INCLUDE_DIR}" DIRECTORY)
4629-
endif()
4630-
46314620
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.29)
46324621
fetchcontent_declare(orc
46334622
${FC_DECLARE_COMMON_OPTIONS}
4634-
URL ${ORC_SOURCE_URL}
4635-
URL_HASH "SHA256=${ARROW_ORC_BUILD_SHA256_CHECKSUM}")
4623+
GIT_REPOSITORY https://github.com/wgtmac/orc.git
4624+
GIT_TAG 315604624b20d540ca00ba87c971bb16dfc1027d
4625+
# SOURCE_DIR "/Users/gangwu/Projects/orc"
4626+
# URL ${ORC_SOURCE_URL}
4627+
# URL_HASH "SHA256=${ARROW_ORC_BUILD_SHA256_CHECKSUM}"
4628+
)
46364629
prepare_fetchcontent()
46374630

46384631
set(CMAKE_UNITY_BUILD FALSE)
4639-
4640-
set(ORC_PREFER_STATIC_LZ4 OFF)
4641-
set(LZ4_HOME "${ORC_LZ4_ROOT}")
4642-
set(LZ4_INCLUDE_DIR "${ORC_LZ4_INCLUDE_DIR}")
4643-
set(LZ4_LIBRARY ${ORC_LZ4_TARGET})
4644-
4645-
set(ORC_PREFER_STATIC_PROTOBUF OFF)
4646-
get_target_property(PROTOBUF_INCLUDE_DIR ${ARROW_PROTOBUF_LIBPROTOBUF}
4647-
INTERFACE_INCLUDE_DIRECTORIES)
4648-
get_filename_component(Protobuf_ROOT "${PROTOBUF_INCLUDE_DIR}" DIRECTORY)
4649-
set(PROTOBUF_HOME ${Protobuf_ROOT})
4650-
# ORC uses this.
4651-
if(PROTOBUF_VENDORED)
4652-
target_include_directories(${ARROW_PROTOBUF_LIBPROTOC}
4653-
INTERFACE "${PROTOBUF_INCLUDE_DIR}")
4654-
endif()
4655-
set(PROTOBUF_EXECUTABLE ${ARROW_PROTOBUF_PROTOC})
4656-
set(PROTOBUF_LIBRARY ${ARROW_PROTOBUF_LIBPROTOBUF})
4657-
set(PROTOC_LIBRARY ${ARROW_PROTOBUF_LIBPROTOC})
4658-
4659-
set(ORC_PREFER_STATIC_SNAPPY OFF)
4660-
get_target_property(SNAPPY_INCLUDE_DIR ${Snappy_TARGET} INTERFACE_INCLUDE_DIRECTORIES)
4661-
get_filename_component(Snappy_ROOT "${SNAPPY_INCLUDE_DIR}" DIRECTORY)
4662-
set(SNAPPY_HOME ${Snappy_ROOT})
4663-
set(SNAPPY_LIBRARY ${Snappy_TARGET})
4664-
4665-
set(ORC_PREFER_STATIC_ZLIB OFF)
4666-
get_target_property(ZLIB_INCLUDE_DIR ZLIB::ZLIB INTERFACE_INCLUDE_DIRECTORIES)
4667-
get_filename_component(ZLIB_ROOT "${ZLIB_INCLUDE_DIR}" DIRECTORY)
4668-
set(ZLIB_HOME ${ZLIB_ROOT})
4669-
# From CMake 3.21 onwards the set(CACHE) command does not remove
4670-
# any normal variable of the same name from the current scope. We
4671-
# have to manually remove the variable via unset to avoid ORC not
4672-
# finding the ZLIB_LIBRARY.
4673-
unset(ZLIB_LIBRARY)
4674-
set(ZLIB_LIBRARY
4675-
ZLIB::ZLIB
4676-
CACHE STRING "" FORCE)
4677-
4678-
set(ORC_PREFER_STATIC_ZSTD OFF)
4679-
get_target_property(ZSTD_INCLUDE_DIR ${ARROW_ZSTD_LIBZSTD}
4680-
INTERFACE_INCLUDE_DIRECTORIES)
4681-
get_filename_component(ZSTD_ROOT "${ZSTD_INCLUDE_DIR}" DIRECTORY)
4682-
set(ZSTD_HOME ${ZSTD_ROOT})
4683-
set(ZSTD_LIBRARY ${ARROW_ZSTD_LIBZSTD})
4684-
46854632
set(BUILD_CPP_TESTS OFF)
46864633
set(BUILD_JAVA OFF)
46874634
set(BUILD_LIBHDFSPP OFF)
@@ -4717,6 +4664,17 @@ function(build_orc)
47174664
get_target_property(ORC_ZLIB_ROOT ZLIB::ZLIB INTERFACE_INCLUDE_DIRECTORIES)
47184665
get_filename_component(ORC_ZLIB_ROOT "${ORC_ZLIB_ROOT}" DIRECTORY)
47194666

4667+
if(LZ4_VENDORED)
4668+
set(ORC_LZ4_TARGET lz4_static)
4669+
set(ORC_LZ4_ROOT "${lz4_SOURCE_DIR}")
4670+
set(ORC_LZ4_INCLUDE_DIR "${lz4_SOURCE_DIR}/lib")
4671+
else()
4672+
set(ORC_LZ4_TARGET LZ4::lz4)
4673+
get_target_property(ORC_LZ4_INCLUDE_DIR ${ORC_LZ4_TARGET}
4674+
INTERFACE_INCLUDE_DIRECTORIES)
4675+
get_filename_component(ORC_LZ4_ROOT "${ORC_LZ4_INCLUDE_DIR}" DIRECTORY)
4676+
endif()
4677+
47204678
set(ORC_CMAKE_ARGS
47214679
${EP_COMMON_CMAKE_ARGS}
47224680
"-DCMAKE_INSTALL_PREFIX=${ORC_PREFIX}"

0 commit comments

Comments
 (0)