This is an automated email from the ASF dual-hosted git repository.
xiaokang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-graphar.git
The following commit(s) were added to refs/heads/main by this push:
new 481c6f96 chore(cmake): update the cmake version to latest 23.0.0 (#853)
481c6f96 is described below
commit 481c6f96ddfb928563128f26c9f52fb2f04f449b
Author: Jason <[email protected]>
AuthorDate: Tue Feb 24 09:55:34 2026 +0800
chore(cmake): update the cmake version to latest 23.0.0 (#853)
---
cpp/CMakeLists.txt | 34 +++++++++++++++++++++++++++++++---
cpp/cmake/apache-arrow.cmake | 21 ++++++++++++++++-----
2 files changed, 47 insertions(+), 8 deletions(-)
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 39a026ff..184b3439 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -360,6 +360,7 @@ macro(build_graphar_with_arrow_bundled)
set(GAR_BUNDLED_DEPS_STATIC_LIBS)
list(APPEND GAR_BUNDLED_DEPS_STATIC_LIBS
gar_arrow_static
+ gar_arrow_compute_static
gar_parquet_static
gar_dataset_static
gar_acero_static
@@ -384,10 +385,13 @@ macro(build_graphar_with_arrow_bundled)
list(INSERT ARROW_STATIC_INSTALL_INTERFACE_LIBS 0
"graphar_bundled_dependencies")
if(APPLE)
+ find_package(Protobuf REQUIRED)
target_link_libraries(graphar PRIVATE -Wl,-force_load
graphar_bundled_dependencies
+ protobuf::libprotobuf
"-framework CoreFoundation"
- "-framework Security")
+ "-framework Security"
+ "-framework Network")
elseif(MSVC)
# MSVC doesn't support GNU ld-style -Wl flags.
target_link_libraries(graphar PRIVATE graphar_bundled_dependencies)
@@ -481,7 +485,11 @@ if (BUILD_EXAMPLES)
if (APPLE)
target_link_libraries(${E_NAME} PRIVATE -Wl,-force_load
${GAR_ARROW_STATIC_LIB}
"${GAR_PARQUET_STATIC_LIB}"
- "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}")
+ "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
+ protobuf::libprotobuf
+ "-framework CoreFoundation"
+ "-framework Security"
+ "-framework Network")
else()
target_link_libraries(${E_NAME} PRIVATE -Wl,--exclude-libs,ALL
-Wl,--whole-archive ${GAR_ARROW_STATIC_LIB}
"${GAR_PARQUET_STATIC_LIB}"
@@ -564,7 +572,11 @@ if (BUILD_TESTS)
if (APPLE)
target_link_libraries(${target} PRIVATE -Wl,-force_load
gar_arrow_static
"${GAR_PARQUET_STATIC_LIB}"
- "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}")
+ "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
+ protobuf::libprotobuf
+ "-framework CoreFoundation"
+ "-framework Security"
+ "-framework Network")
else()
target_link_libraries(${target} PRIVATE -Wl,--exclude-libs,ALL
-Wl,--whole-archive gar_arrow_static
"${GAR_PARQUET_STATIC_LIB}"
@@ -621,6 +633,22 @@ if (BUILD_BENCHMARKS)
target_compile_features(${target} PRIVATE cxx_std_17)
target_include_directories(${target} PRIVATE
${PROJECT_SOURCE_DIR}/thirdparty)
target_link_libraries(${target} PRIVATE benchmark::benchmark_main
graphar ${CMAKE_DL_LIBS})
+ if (BUILD_ARROW_FROM_SOURCE)
+ target_include_directories(${target} SYSTEM BEFORE PRIVATE
${GAR_ARROW_INCLUDE_DIR})
+ if (APPLE)
+ target_link_libraries(${target} PRIVATE -Wl,-force_load
${GAR_ARROW_STATIC_LIB}
+ "${GAR_PARQUET_STATIC_LIB}"
+ "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
+ protobuf::libprotobuf
+ "-framework CoreFoundation"
+ "-framework Security"
+ "-framework Network")
+ else()
+ target_link_libraries(${target} PRIVATE -Wl,--exclude-libs,ALL
-Wl,--whole-archive ${GAR_ARROW_STATIC_LIB}
+ "${GAR_PARQUET_STATIC_LIB}"
+ "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
-Wl,--no-whole-archive)
+ endif()
+ endif()
endmacro()
add_benchmark(arrow_chunk_reader_benchmark SRCS
benchmarks/arrow_chunk_reader_benchmark.cc)
add_benchmark(label_filter_benchmark SRCS
benchmarks/label_filter_benchmark.cc)
diff --git a/cpp/cmake/apache-arrow.cmake b/cpp/cmake/apache-arrow.cmake
index ca6e63bf..2e75e2cd 100644
--- a/cpp/cmake/apache-arrow.cmake
+++ b/cpp/cmake/apache-arrow.cmake
@@ -64,6 +64,9 @@ function(build_arrow)
set(GAR_DATASET_STATIC_LIB_FILENAME
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow_dataset${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(GAR_DATASET_STATIC_LIB
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_DATASET_STATIC_LIB_FILENAME}" CACHE
INTERNAL "arrow dataset lib")
+ set(GAR_ARROW_COMPUTE_STATIC_LIB_FILENAME
+
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow_compute${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(GAR_ARROW_COMPUTE_STATIC_LIB
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_COMPUTE_STATIC_LIB_FILENAME}"
CACHE INTERNAL "arrow compute lib")
set(GAR_ARROW_BUNDLED_DEPS_STATIC_LIB_FILENAME
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow_bundled_dependencies${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(GAR_ARROW_BUNDLED_DEPS_STATIC_LIB
@@ -104,17 +107,20 @@ function(build_arrow)
"-DARROW_S3=ON")
set(GAR_ARROW_INCLUDE_DIR "${GAR_ARROW_PREFIX}/include" CACHE INTERNAL
"arrow include directory")
- set(GAR_ARROW_BUILD_BYPRODUCTS "${GAR_ARROW_STATIC_LIB}"
"${GAR_PARQUET_STATIC_LIB}" "${GAR_DATASET_STATIC_LIB}")
+ set(GAR_ARROW_BUILD_BYPRODUCTS "${GAR_ARROW_STATIC_LIB}"
"${GAR_PARQUET_STATIC_LIB}" "${GAR_DATASET_STATIC_LIB}"
"${GAR_ARROW_COMPUTE_STATIC_LIB}")
find_package(Threads)
find_package(Arrow QUIET)
+ # Set Arrow version: from env var or default to 23.0.0
+ if(DEFINED ENV{GRAPHAR_ARROW_VERSION})
+ set(ARROW_VERSION_TO_BUILD "$ENV{GRAPHAR_ARROW_VERSION}" CACHE
INTERNAL "arrow version")
+ else()
+ set(ARROW_VERSION_TO_BUILD "23.0.0" CACHE INTERNAL "arrow version")
+ endif()
+
if(DEFINED ENV{GAR_ARROW_SOURCE_URL})
set(GAR_ARROW_SOURCE_URL "$ENV{GAR_ARROW_SOURCE_URL}")
else()
- set(ARROW_VERSION_TO_BUILD "15.0.0" CACHE INTERNAL "arrow version")
- if (Arrow_FOUND) # arrow is installed, build the same version as the
installed one
- set(ARROW_VERSION_TO_BUILD "${Arrow_VERSION}" CACHE INTERNAL
"arrow version")
- endif()
set(GAR_ARROW_SOURCE_URL
"https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-${ARROW_VERSION_TO_BUILD}/apache-arrow-${ARROW_VERSION_TO_BUILD}.tar.gz")
endif ()
@@ -157,6 +163,11 @@ function(build_arrow)
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GAR_ARROW_INCLUDE_DIR}
IMPORTED_LOCATION ${GAR_ARROW_ACERO_STATIC_LIB})
endif()
+ set(GAR_ARROW_COMPUTE_LIBRARY_TARGET gar_arrow_compute_static)
+ add_library(${GAR_ARROW_COMPUTE_LIBRARY_TARGET} STATIC IMPORTED)
+ set_target_properties(${GAR_ARROW_COMPUTE_LIBRARY_TARGET}
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GAR_ARROW_INCLUDE_DIR}
+ IMPORTED_LOCATION ${GAR_ARROW_COMPUTE_STATIC_LIB})
add_dependencies(${GAR_ARROW_LIBRARY_TARGET} arrow_ep)
endfunction()
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]