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]

Reply via email to