This is an automated email from the ASF dual-hosted git repository.

yangxk1 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 f466b764 refactor(cmake): CMake configuration files for improved 
readability (#904)
f466b764 is described below

commit f466b76448455d2008f221c447111825d4b4c0bc
Author: Jason <[email protected]>
AuthorDate: Thu May 7 20:34:39 2026 +0800

    refactor(cmake): CMake configuration files for improved readability (#904)
    
    * refactor(cmake): CMake configuration files for improved readability and 
consistency
    
    Signed-off-by: syaojun <[email protected]>
    
    * fix(cmake): correct error message for OpenSSL version check and fix typo 
in build options
    
    Signed-off-by: syaojun <[email protected]>
    
    * fix: enable cmake-format check in a separate files
    
    Signed-off-by: syaojun <[email protected]>
    
    ---------
    
    Signed-off-by: syaojun <[email protected]>
---
 .../workflows/pre-commit.yml                       |  41 ++-
 .pre-commit-config.yaml                            |   5 +
 cmake-format.py                                    |  74 +++++
 cpp/CMakeLists.txt                                 | 340 +++++++++++----------
 cpp/benchmarks/CMakeLists.txt                      |  70 +++--
 cpp/cmake/apache-arrow.cmake                       | 268 ++++++++--------
 cpp/examples/CMakeLists.txt                        | 100 +++---
 cpp/graphar-config-version.in.cmake                |   2 +-
 cpp/src/CMakeLists.txt                             | 195 ++++++------
 cpp/test/CMakeLists.txt                            | 114 +++----
 maven-projects/java/CMakeLists.txt                 |  42 ++-
 maven-projects/java/cmake/graphar-cpp.cmake        |  81 ++---
 python/CMakeLists.txt                              |  59 ++--
 13 files changed, 808 insertions(+), 583 deletions(-)

diff --git a/cpp/graphar-config-version.in.cmake 
b/.github/workflows/pre-commit.yml
similarity index 56%
copy from cpp/graphar-config-version.in.cmake
copy to .github/workflows/pre-commit.yml
index 9e6f1cce..fd5a4cad 100644
--- a/cpp/graphar-config-version.in.cmake
+++ b/.github/workflows/pre-commit.yml
@@ -15,14 +15,35 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set(PACKAGE_VERSION "@GRAPHAR_VERSION@")
+name: Pre-commit Checks
 
-# Check whether the requested PACKAGE_FIND_VERSION is compatible
-if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
-  set(PACKAGE_VERSION_COMPATIBLE FALSE)
-else()
-  set(PACKAGE_VERSION_COMPATIBLE TRUE)
-  if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
-    set(PACKAGE_VERSION_EXACT TRUE)
-  endif()
-endif()
+on:
+  pull_request_target:
+    branches:
+      - main
+    types:
+      - opened
+      - edited
+      - reopened
+      - synchronize
+      - ready_for_review
+
+concurrency:
+  group: ${{ github.repository }}-${{ github.event.number || github.head_ref 
|| github.sha }}-${{ github.workflow }}
+  cancel-in-progress: true
+
+permissions:
+  pull-requests: read
+
+jobs:
+  pre-commit:
+    name: Pre-commit Checks
+    runs-on: ubuntu-slim
+
+    steps:
+    - uses: actions/checkout@v3
+      with:
+        submodules: true
+
+    - name: cmake-format check
+      run: pre-commit run cmake-format -a
\ No newline at end of file
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 4e486545..4c269b02 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -47,6 +47,11 @@ repos:
       types_or: [c++]
       args: [--style=file, --verbose]
       exclude: ^cpp/thirdparty/
+
+  - repo: https://github.com/cheshirekow/cmake-format-precommit
+    rev: v0.6.10
+    hooks:
+      - id: cmake-format
       
   - repo: https://github.com/pocc/pre-commit-hooks
     rev: v1.3.5
diff --git a/cmake-format.py b/cmake-format.py
new file mode 100644
index 00000000..2c5a409f
--- /dev/null
+++ b/cmake-format.py
@@ -0,0 +1,74 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# cmake-format configuration file
+
+# -----------------------------
+# Options affecting formatting.
+# -----------------------------
+with section("format"):
+    # How wide to allow formatted cmake files
+    line_width = 90
+
+    # How many spaces to tab for indent
+    tab_size = 2
+
+    # If a positional argument group contains more than this many arguments,
+    # then force it to a vertical layout.
+    max_pargs_hwrap = 4
+
+    # If the statement spelling length (including space and parenthesis) is
+    # smaller than this amount, then force reject nested layouts.
+    # This value only comes into play when considering whether or not to nest
+    # arguments below their parent. If the number of characters in the parent
+    # is less than this value, we will not nest.
+    min_prefix_chars = 32
+
+    # If true, separate flow control names from their parentheses with a space
+    separate_ctrl_name_with_space = False
+
+    # If true, separate function names from parentheses with a space
+    separate_fn_name_with_space = False
+
+    # If a statement is wrapped to more than one line, than dangle the closing
+    # parenthesis on it's own line
+    dangle_parens = False
+
+    # What style line endings to use in the output.
+    line_ending = "unix"
+
+    # Format command names consistently as 'lower' or 'upper' case
+    command_case = "lower"
+
+    # Format keywords consistently as 'lower' or 'upper' case
+    keyword_case = "unchanged"
+
+# ------------------------------------------------
+# Options affecting comment reflow and formatting.
+# ------------------------------------------------
+with section("markup"):
+    # enable comment markup parsing and reflow
+    enable_markup = False
+
+    # If comment markup is enabled, don't reflow the first comment block in
+    # eachlistfile. Use this to preserve formatting of your
+    # copyright/licensestatements.
+    first_comment_is_literal = True
+
+    # If comment markup is enabled, don't reflow any comment block which
+    # matches this (regex) pattern. Default is `None` (disabled).
+    literal_comment_pattern = None
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index f1fa70e9..9936bcbb 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -18,7 +18,7 @@
 cmake_minimum_required(VERSION 3.5)
 
 # Avoid mixing plain and keyword signature of target_link_libraries
-if (POLICY CMP0023)
+if(POLICY CMP0023)
   cmake_policy(SET CMP0023 NEW)
 endif()
 
@@ -27,15 +27,18 @@ if(POLICY CMP0048)
 endif()
 
 # Avoid warning about DOWNLOAD_EXTRACT_TIMESTAMP in CMake 3.24:
-if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
+if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
   cmake_policy(SET CMP0135 NEW)
 endif()
 
 set(GRAPHAR_MAJOR_VERSION 0)
 set(GRAPHAR_MINOR_VERSION 13)
 set(GRAPHAR_PATCH_VERSION 0)
-set(GRAPHAR_VERSION 
${GRAPHAR_MAJOR_VERSION}.${GRAPHAR_MINOR_VERSION}.${GRAPHAR_PATCH_VERSION})
-project(graphar-cpp LANGUAGES C CXX VERSION ${GRAPHAR_VERSION})
+set(GRAPHAR_VERSION
+    ${GRAPHAR_MAJOR_VERSION}.${GRAPHAR_MINOR_VERSION}.${GRAPHAR_PATCH_VERSION})
+project(graphar-cpp
+        LANGUAGES C CXX
+        VERSION ${GRAPHAR_VERSION})
 
 # 
------------------------------------------------------------------------------
 # cmake options
@@ -52,81 +55,90 @@ option(BUILD_ARROW_FROM_SOURCE "Build Arrow from source" 
OFF)
 option(GRAPHAR_ENABLE_SANITIZER "Enable address sanitizer (Debug builds only)" 
ON)
 option(GRAPHAR_ENABLE_COVERAGE "Enable coverage instrumentation (Debug builds 
only)" OFF)
 
-if (USE_STATIC_ARROW)
-    set(GRAPHAR_BUILD_STATIC ON)
+if(USE_STATIC_ARROW)
+  set(GRAPHAR_BUILD_STATIC ON)
 endif()
 
-if (ENABLE_DOCS OR BUILD_DOCS_ONLY)
-    set(PROJECT_DOCUMENT_SOURCE ${PROJECT_SOURCE_DIR}/include 
${PROJECT_SOURCE_DIR}/README.md)
-    string(REPLACE ";" " " PROJECT_DOCUMENT_SOURCE 
"${PROJECT_DOCUMENT_SOURCE}")
-    file(DOWNLOAD 
https://cdn.jsdelivr.net/gh/jothepro/[email protected]/doxygen-awesome.min.css
 ${CMAKE_BINARY_DIR}/doxygen-awesome.css)
-    find_package(Doxygen REQUIRED)
-    set(DOXYGEN_IN ${PROJECT_SOURCE_DIR}/Doxyfile)
-    set(DOXYGEN_OUT ${CMAKE_BINARY_DIR}/Doxyfile.out)
-    configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
-    # Copy disclaimer_footer.html to the build directory
-    configure_file(${PROJECT_SOURCE_DIR}/disclaimer_footer.html 
${CMAKE_BINARY_DIR}/disclaimer_footer.html COPYONLY)
-    add_custom_target(docs
-        COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
-        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
-        COMMENT "Generating API documentation with Doxygen"
-        VERBATIM)
-
-    if (BUILD_DOCS_ONLY)
-        return()
-    endif()
+if(ENABLE_DOCS OR BUILD_DOCS_ONLY)
+  set(PROJECT_DOCUMENT_SOURCE ${PROJECT_SOURCE_DIR}/include
+                              ${PROJECT_SOURCE_DIR}/README.md)
+  string(REPLACE ";" " " PROJECT_DOCUMENT_SOURCE "${PROJECT_DOCUMENT_SOURCE}")
+  file(DOWNLOAD
+       
https://cdn.jsdelivr.net/gh/jothepro/[email protected]/doxygen-awesome.min.css
+       ${CMAKE_BINARY_DIR}/doxygen-awesome.css)
+  find_package(Doxygen REQUIRED)
+  set(DOXYGEN_IN ${PROJECT_SOURCE_DIR}/Doxyfile)
+  set(DOXYGEN_OUT ${CMAKE_BINARY_DIR}/Doxyfile.out)
+  configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
+  # Copy disclaimer_footer.html to the build directory
+  configure_file(${PROJECT_SOURCE_DIR}/disclaimer_footer.html
+                 ${CMAKE_BINARY_DIR}/disclaimer_footer.html COPYONLY)
+  add_custom_target(docs
+                    COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
+                    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+                    COMMENT "Generating API documentation with Doxygen"
+                    VERBATIM)
+
+  if(BUILD_DOCS_ONLY)
+    return()
+  endif()
 endif()
 
 # 
------------------------------------------------------------------------------
 # setting default cmake type to Release
 # 
------------------------------------------------------------------------------
 set(DEFAULT_BUILD_TYPE "Release")
-if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
   message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was 
specified.")
-  set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE
-      STRING "Choose the type of build." FORCE)
-  set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
-               "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
-endif ()
-
-if(NOT (CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache") AND NOT 
(CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache"))
-    find_program(ccache_EXECUTABLE ccache)
-    if(ccache_EXECUTABLE)
-        set(CMAKE_C_COMPILER_LAUNCHER ${ccache_EXECUTABLE})
-        set(CMAKE_CXX_COMPILER_LAUNCHER ${ccache_EXECUTABLE})
-        add_custom_target(graphar-ccache-stats
-            COMMAND ${ccache_EXECUTABLE} --show-stats
-        )
-    else()
-        add_custom_target(graphar-ccache-stats
-            COMMAND echo "ccache not found."
-        )
-    endif(ccache_EXECUTABLE)
+  set(CMAKE_BUILD_TYPE
+      "${DEFAULT_BUILD_TYPE}"
+      CACHE STRING "Choose the type of build." FORCE)
+  set_property(CACHE CMAKE_BUILD_TYPE
+               PROPERTY STRINGS
+                        "Debug"
+                        "Release"
+                        "MinSizeRel"
+                        "RelWithDebInfo")
+endif()
+
+if(NOT (CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache") AND NOT 
(CMAKE_C_COMPILER_LAUNCHER
+                                                               MATCHES 
"ccache"))
+  find_program(ccache_EXECUTABLE ccache)
+  if(ccache_EXECUTABLE)
+    set(CMAKE_C_COMPILER_LAUNCHER ${ccache_EXECUTABLE})
+    set(CMAKE_CXX_COMPILER_LAUNCHER ${ccache_EXECUTABLE})
+    add_custom_target(graphar-ccache-stats COMMAND ${ccache_EXECUTABLE} 
--show-stats)
+  else()
+    add_custom_target(graphar-ccache-stats COMMAND echo "ccache not found.")
+  endif(ccache_EXECUTABLE)
 endif()
 
 set(GAR_CXX_STANDARD 17)
 
 if(MSVC)
-    # Avoid GCC/Clang-specific flags on MSVC.
-    # C++17 is already enforced via CMAKE_CXX_STANDARD/target features.
+  # Avoid GCC/Clang-specific flags on MSVC.
+  # C++17 is already enforced via CMAKE_CXX_STANDARD/target features.
 else()
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra 
-Wno-unused-parameter -Wno-unused-function -Wno-empty-body")
+  set(CMAKE_CXX_FLAGS
+      "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra -Wno-unused-parameter 
-Wno-unused-function -Wno-empty-body"
+  )
 endif()
 
-if (APPLE)
-    set(CMAKE_MACOSX_RPATH ON)
+if(APPLE)
+  set(CMAKE_MACOSX_RPATH ON)
 elseif(UNIX)
-    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,$ORIGIN")
-endif ()
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,$ORIGIN")
+endif()
 
 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g 
-fno-omit-frame-pointer")
-if (GRAPHAR_ENABLE_SANITIZER)
+if(GRAPHAR_ENABLE_SANITIZER)
   set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address")
   # Linker flags are required to pull in the ASan runtime.
   set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} 
-fsanitize=address")
-  set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} 
-fsanitize=address")
+  set(CMAKE_SHARED_LINKER_FLAGS_DEBUG
+      "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=address")
 endif()
-if (GRAPHAR_ENABLE_COVERAGE)
+if(GRAPHAR_ENABLE_COVERAGE)
   set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} --coverage")
   set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} --coverage")
 endif()
@@ -135,7 +147,7 @@ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 
-g")
 message(STATUS "[graphar] will build in type: ${CMAKE_BUILD_TYPE}")
 
 string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER)
-if (CMAKE_BUILD_TYPE_UPPER STREQUAL "DEBUG")
+if(CMAKE_BUILD_TYPE_UPPER STREQUAL "DEBUG")
   message(STATUS "[graphar] GRAPHAR_ENABLE_SANITIZER: 
${GRAPHAR_ENABLE_SANITIZER}")
   message(STATUS "[graphar] GRAPHAR_ENABLE_COVERAGE: 
${GRAPHAR_ENABLE_COVERAGE}")
 endif()
@@ -149,44 +161,46 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 add_library(${PROJECT_NAME} INTERFACE)
-target_include_directories(
-    ${PROJECT_NAME}
-    INTERFACE
-    $<BUILD_INTERFACE:${${PROJECT_NAME}_SOURCE_DIR}>
-    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
-)
-
+target_include_directories(${PROJECT_NAME}
+                           INTERFACE 
$<BUILD_INTERFACE:${${PROJECT_NAME}_SOURCE_DIR}>
+                                     
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 
 # 
------------------------------------------------------------------------------
 # macro functions
 # 
------------------------------------------------------------------------------
 macro(add_subdirectory_shared directory)
-    set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
-    set(BUILD_SHARED_LIBS ON)
-    set(CMAKE_BUILD_TYPE_SAVED "${CMAKE_BUILD_TYPE}")
-    set(CMAKE_BUILD_TYPE Release)
-    add_subdirectory(${directory} ${ARGN})
-    set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
-    set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE_SAVED}")
+  set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
+  set(BUILD_SHARED_LIBS ON)
+  set(CMAKE_BUILD_TYPE_SAVED "${CMAKE_BUILD_TYPE}")
+  set(CMAKE_BUILD_TYPE Release)
+  add_subdirectory(${directory} ${ARGN})
+  set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
+  set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE_SAVED}")
 endmacro()
 
 macro(add_subdirectory_static directory)
-    set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
-    set(BUILD_SHARED_LIBS OFF)
-    set(CMAKE_BUILD_TYPE_SAVED "${CMAKE_BUILD_TYPE}")
-    set(CMAKE_BUILD_TYPE Release)
-    add_subdirectory(${directory} ${ARGN})
-    set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
-    set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE_SAVED}")
+  set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
+  set(BUILD_SHARED_LIBS OFF)
+  set(CMAKE_BUILD_TYPE_SAVED "${CMAKE_BUILD_TYPE}")
+  set(CMAKE_BUILD_TYPE Release)
+  add_subdirectory(${directory} ${ARGN})
+  set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
+  set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE_SAVED}")
 endmacro()
 
 macro(find_yaml_cpp)
-    set(MESSAGE_QUIET ON)
-    set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)
-    set(YAML_CPP_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
-    add_subdirectory_static(thirdparty/yaml-cpp EXCLUDE_FROM_ALL)
-    unset(MESSAGE_QUIET)
-    set(CMAKE_WARN_DEPRECATED ON CACHE BOOL "" FORCE)
+  set(MESSAGE_QUIET ON)
+  set(CMAKE_WARN_DEPRECATED
+      OFF
+      CACHE BOOL "" FORCE)
+  set(YAML_CPP_BUILD_TOOLS
+      OFF
+      CACHE BOOL "" FORCE)
+  add_subdirectory_static(thirdparty/yaml-cpp EXCLUDE_FROM_ALL)
+  unset(MESSAGE_QUIET)
+  set(CMAKE_WARN_DEPRECATED
+      ON
+      CACHE BOOL "" FORCE)
 endmacro()
 
 # Implementations of lisp "car" and "cdr" functions
@@ -284,57 +298,61 @@ endfunction()
 include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
 include_directories(src)
 
-if (BUILD_ARROW_FROM_SOURCE)
-    # the necessary dependencies for building arrow from source
-    find_package(OpenSSL REQUIRED)
-    if(OPENSSL_FOUND)
-        if(OPENSSL_VERSION LESS "1.1.0")
-            message(ERROR "The OpenSSL must be greater than or equal to 1.1.0, 
current version is  ${OPENSSL_VERSION}")
-        endif()
+if(BUILD_ARROW_FROM_SOURCE)
+  # the necessary dependencies for building arrow from source
+  find_package(OpenSSL REQUIRED)
+  if(OPENSSL_FOUND)
+    if(OPENSSL_VERSION LESS "1.1.0")
+      message(FATAL_ERROR "The OpenSSL must be greater than or equal to 1.1.0, 
current version is  ${OPENSSL_VERSION}"
+      )
     endif()
-    find_package(CURL REQUIRED)
+  endif()
+  find_package(CURL REQUIRED)
 
-    include(apache-arrow)
+  include(apache-arrow)
 
-    if (ARROW_VERSION_TO_BUILD VERSION_GREATER_EQUAL "23.0.0")
-        set(GAR_CXX_STANDARD 20)
-    endif()
-    build_arrow()
-    add_definitions(-DARROW_ORC) # Add macro, otherwise inconsistent in build 
phase with not from source.
+  if(ARROW_VERSION_TO_BUILD VERSION_GREATER_EQUAL "23.0.0")
+    set(GAR_CXX_STANDARD 20)
+  endif()
+  build_arrow()
+  add_definitions(-DARROW_ORC
+  )# Add macro, otherwise inconsistent in build phase with not from source.
 else()
-    # check if arrow is installed
-    find_package(Arrow QUIET)
-    if (NOT ${Arrow_FOUND})
-        message(FATAL_ERROR "apache-arrow is required, please install it and 
retry")
-    endif()
-    find_package(ArrowDataset QUIET)
-    if (NOT ${ArrowDataset_FOUND})
-        message(FATAL_ERROR "apache-arrow-dataset is required, please install 
it and retry")
-    endif()
-    if (${Arrow_VERSION} VERSION_GREATER_EQUAL "12.0.0")
-        # ArrowAcero is available in Arrow 12.0.0 and later
-        find_package(ArrowAcero QUIET)
-        if (NOT ${ArrowAcero_FOUND})
-            message(FATAL_ERROR "apache-arrow-acero is required, please 
install it and retry")
-        endif()
-    endif()
-    # Check if ORC is enabled.
-    if (NOT ${ARROW_ORC})
-        message(WARNING "apache-arrow is built without ORC extension, ORC 
related functionalities will be disabled.")
-    else()
-        add_definitions(-DARROW_ORC) # Add macro, otherwise inconsistent in 
build phase on ubuntu.
+  # check if arrow is installed
+  find_package(Arrow QUIET)
+  if(NOT ${Arrow_FOUND})
+    message(FATAL_ERROR "apache-arrow is required, please install it and 
retry")
+  endif()
+  find_package(ArrowDataset QUIET)
+  if(NOT ${ArrowDataset_FOUND})
+    message(FATAL_ERROR "apache-arrow-dataset is required, please install it 
and retry")
+  endif()
+  if(${Arrow_VERSION} VERSION_GREATER_EQUAL "12.0.0")
+    # ArrowAcero is available in Arrow 12.0.0 and later
+    find_package(ArrowAcero QUIET)
+    if(NOT ${ArrowAcero_FOUND})
+      message(FATAL_ERROR "apache-arrow-acero is required, please install it 
and retry")
     endif()
+  endif()
+  # Check if ORC is enabled.
+  if(NOT ${ARROW_ORC})
+    message(WARNING "apache-arrow is built without ORC extension, ORC related 
functionalities will be disabled."
+    )
+  else()
+    add_definitions(-DARROW_ORC
+    )# Add macro, otherwise inconsistent in build phase on ubuntu.
+  endif()
 
-    find_package(Parquet QUIET)
-    if (NOT ${Parquet_FOUND})
-        message(FATAL_ERROR "parquet is required, please install it and retry")
-    endif()
+  find_package(Parquet QUIET)
+  if(NOT ${Parquet_FOUND})
+    message(FATAL_ERROR "parquet is required, please install it and retry")
+  endif()
 
-    # Update C++ standard based on detected system Arrow version
-    if (${Arrow_VERSION} VERSION_GREATER_EQUAL "23.0.0")
-        set(GAR_CXX_STANDARD 20)
-        message(STATUS "Arrow ${Arrow_VERSION} detected")
-    endif()
+  # Update C++ standard based on detected system Arrow version
+  if(${Arrow_VERSION} VERSION_GREATER_EQUAL "23.0.0")
+    set(GAR_CXX_STANDARD 20)
+    message(STATUS "Arrow ${Arrow_VERSION} detected")
+  endif()
 endif()
 
 message(STATUS "[graphar] using C++ standard: ${GAR_CXX_STANDARD}")
@@ -347,23 +365,23 @@ add_subdirectory(src)
 # 
------------------------------------------------------------------------------
 # build examples
 # 
------------------------------------------------------------------------------
-if (BUILD_EXAMPLES)
-    add_subdirectory(examples)
+if(BUILD_EXAMPLES)
+  add_subdirectory(examples)
 endif()
 
 # 
------------------------------------------------------------------------------
 # Test targets
 # 
------------------------------------------------------------------------------
-if (BUILD_TESTS)
-    enable_testing()
-    add_subdirectory(test)
+if(BUILD_TESTS)
+  enable_testing()
+  add_subdirectory(test)
 endif()
 
 # 
------------------------------------------------------------------------------
 # Benchmark targets
 # 
------------------------------------------------------------------------------
-if (BUILD_BENCHMARKS)
-    add_subdirectory(benchmarks)
+if(BUILD_BENCHMARKS)
+  add_subdirectory(benchmarks)
 endif()
 
 # 
------------------------------------------------------------------------------
@@ -372,44 +390,49 @@ endif()
 install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/graphar
         DESTINATION include
         FILES_MATCHING
-        PATTERN "*.h"
-)
+        PATTERN "*.h")
 
 install(DIRECTORY ${PROJECT_SOURCE_DIR}/thirdparty/result
         DESTINATION include
         FILES_MATCHING
-        PATTERN "*.hpp"
-)
+        PATTERN "*.hpp")
 
-configure_file(graphar-config.in.cmake
-               "${PROJECT_BINARY_DIR}/graphar-config.cmake" @ONLY
-)
+configure_file(graphar-config.in.cmake 
"${PROJECT_BINARY_DIR}/graphar-config.cmake" @ONLY)
 
 configure_file(graphar-config-version.in.cmake
-               "${PROJECT_BINARY_DIR}/graphar-config-version.cmake" @ONLY
-)
+               "${PROJECT_BINARY_DIR}/graphar-config-version.cmake" @ONLY)
 
 install(FILES "${PROJECT_BINARY_DIR}/graphar-config.cmake"
               "${PROJECT_BINARY_DIR}/graphar-config-version.cmake"
-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphar
-)
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphar)
 
 install(EXPORT graphar-targets
         FILE graphar-targets.cmake
-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphar
-)
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/graphar)
 
 # 
------------------------------------------------------------------------------
 # Format code & cpplint
 # 
------------------------------------------------------------------------------
-file(GLOB_RECURSE FILES_NEED_FORMAT "src/graphar/*.h" "src/graphar/*.cc"
-                                    "test/*.h" "test/*.cc"
-                                    "examples/*.h" "examples/*.cc"
-                                    "benchmarks/*.h" "benchmarks/*.cc")
-file(GLOB_RECURSE FILES_NEED_LINT "src/graphar/*.h" "src/graphar/*.cc"
-                                  "test/*.h" "test/*.cc"
-                                  "examples/*.h" "examples/*.cc"
-                                  "benchmarks/*.h" "benchmarks/*.cc")
+file(GLOB_RECURSE
+     FILES_NEED_FORMAT
+     "src/graphar/*.h"
+     "src/graphar/*.cc"
+     "test/*.h"
+     "test/*.cc"
+     "examples/*.h"
+     "examples/*.cc"
+     "benchmarks/*.h"
+     "benchmarks/*.cc")
+file(GLOB_RECURSE
+     FILES_NEED_LINT
+     "src/graphar/*.h"
+     "src/graphar/*.cc"
+     "test/*.h"
+     "test/*.cc"
+     "examples/*.h"
+     "examples/*.cc"
+     "benchmarks/*.h"
+     "benchmarks/*.cc")
 
 add_custom_target(graphar-clformat
                   COMMAND clang-format --style=file -i ${FILES_NEED_FORMAT}
@@ -417,6 +440,7 @@ add_custom_target(graphar-clformat
                   VERBATIM)
 
 add_custom_target(graphar-cpplint
-        COMMAND ${PROJECT_SOURCE_DIR}/misc/cpplint.py 
--root=${PROJECT_SOURCE_DIR}/include ${FILES_NEED_LINT}
-        COMMENT "Running cpplint check."
-        VERBATIM)
+                  COMMAND ${PROJECT_SOURCE_DIR}/misc/cpplint.py
+                          --root=${PROJECT_SOURCE_DIR}/include 
${FILES_NEED_LINT}
+                  COMMENT "Running cpplint check."
+                  VERBATIM)
diff --git a/cpp/benchmarks/CMakeLists.txt b/cpp/benchmarks/CMakeLists.txt
index 3927318b..75d28f97 100644
--- a/cpp/benchmarks/CMakeLists.txt
+++ b/cpp/benchmarks/CMakeLists.txt
@@ -18,34 +18,54 @@
 find_package(benchmark REQUIRED)
 
 macro(add_benchmark target)
-    set(options)
-    set(oneValueArgs)
-    set(multiValueArgs SRCS)
-    cmake_parse_arguments(add_test "${options}" "${oneValueArgs}" 
"${multiValueArgs}" ${ARGN})
-    add_executable(${target} ${add_test_SRCS})
-    target_compile_features(${target} PRIVATE cxx_std_${GAR_CXX_STANDARD})
-    target_include_directories(${target} PRIVATE 
${PROJECT_SOURCE_DIR}/thirdparty)
+  set(options)
+  set(oneValueArgs)
+  set(multiValueArgs SRCS)
+  cmake_parse_arguments(add_test
+                        "${options}"
+                        "${oneValueArgs}"
+                        "${multiValueArgs}"
+                        ${ARGN})
+  add_executable(${target} ${add_test_SRCS})
+  target_compile_features(${target} PRIVATE cxx_std_${GAR_CXX_STANDARD})
+  target_include_directories(${target} PRIVATE 
${PROJECT_SOURCE_DIR}/thirdparty)
+  if(APPLE)
+    target_link_libraries(${target}
+                          PRIVATE benchmark::benchmark_main
+                                  graphar
+                                  Arrow::arrow_shared
+                                  Parquet::parquet_shared
+                                  ${CMAKE_DL_LIBS})
+  else()
+    target_link_libraries(${target}
+                          PRIVATE benchmark::benchmark_main
+                                  graphar
+                                  parquet
+                                  arrow
+                                  ${CMAKE_DL_LIBS})
+  endif()
+  if(BUILD_ARROW_FROM_SOURCE)
+    target_include_directories(${target} SYSTEM BEFORE PRIVATE 
${GAR_ARROW_INCLUDE_DIR})
     if(APPLE)
-        target_link_libraries(${target} PRIVATE benchmark::benchmark_main 
graphar Arrow::arrow_shared Parquet::parquet_shared ${CMAKE_DL_LIBS})
+      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 benchmark::benchmark_main 
graphar parquet arrow ${CMAKE_DL_LIBS})
-    endif()
-    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()
+      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 
arrow_chunk_reader_benchmark.cc)
diff --git a/cpp/cmake/apache-arrow.cmake b/cpp/cmake/apache-arrow.cmake
index 2e75e2cd..9873230a 100644
--- a/cpp/cmake/apache-arrow.cmake
+++ b/cpp/cmake/apache-arrow.cmake
@@ -35,139 +35,161 @@
 # This cmake file is referred and derived from
 # https://github.com/apache/arrow/blob/master/matlab/CMakeLists.txt
 
-
 # Build the Arrow C++ libraries.
 function(build_arrow)
-    set(one_value_args)
-    set(multi_value_args)
+  set(one_value_args)
+  set(multi_value_args)
+
+  cmake_parse_arguments(ARG
+                        "${options}"
+                        "${one_value_args}"
+                        "${multi_value_args}"
+                        ${ARGN})
+  if(ARG_UNPARSED_ARGUMENTS)
+    message(SEND_ERROR "Error: unrecognized arguments: 
${ARG_UNPARSED_ARGUMENTS}")
+  endif()
 
-    cmake_parse_arguments(ARG
-            "${options}"
-            "${one_value_args}"
-            "${multi_value_args}"
-            ${ARGN})
-    if (ARG_UNPARSED_ARGUMENTS)
-        message(SEND_ERROR "Error: unrecognized arguments: 
${ARG_UNPARSED_ARGUMENTS}")
-    endif ()
+  # If Arrow needs to be built, the default location will be within the build 
tree.
+  set(GAR_ARROW_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-prefix")
 
-    # If Arrow needs to be built, the default location will be within the 
build tree.
-    set(GAR_ARROW_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-prefix")
+  set(GAR_ARROW_STATIC_LIBRARY_DIR "${GAR_ARROW_PREFIX}/lib")
 
-    set(GAR_ARROW_STATIC_LIBRARY_DIR "${GAR_ARROW_PREFIX}/lib")
+  set(GAR_ARROW_STATIC_LIB_FILENAME
+      "${CMAKE_STATIC_LIBRARY_PREFIX}arrow${CMAKE_STATIC_LIBRARY_SUFFIX}")
+  set(GAR_ARROW_STATIC_LIB
+      "${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_STATIC_LIB_FILENAME}"
+      CACHE INTERNAL "arrow lib")
+  set(GAR_PARQUET_STATIC_LIB_FILENAME
+      "${CMAKE_STATIC_LIBRARY_PREFIX}parquet${CMAKE_STATIC_LIBRARY_SUFFIX}")
+  set(GAR_PARQUET_STATIC_LIB
+      "${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_PARQUET_STATIC_LIB_FILENAME}"
+      CACHE INTERNAL "parquet lib")
+  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
+      
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB_FILENAME}"
+      CACHE INTERNAL "bundled deps lib")
 
-    set(GAR_ARROW_STATIC_LIB_FILENAME
-            
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow${CMAKE_STATIC_LIBRARY_SUFFIX}")
-    set(GAR_ARROW_STATIC_LIB 
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_STATIC_LIB_FILENAME}" CACHE 
INTERNAL "arrow lib")
-    set(GAR_PARQUET_STATIC_LIB_FILENAME
-           
"${CMAKE_STATIC_LIBRARY_PREFIX}parquet${CMAKE_STATIC_LIBRARY_SUFFIX}")
-    set(GAR_PARQUET_STATIC_LIB 
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_PARQUET_STATIC_LIB_FILENAME}" CACHE 
INTERNAL "parquet lib")
-    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
-        
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB_FILENAME}" 
CACHE INTERNAL "bundled deps lib")
+  set(GAR_ARROW_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-build")
+  set(GAR_ARROW_CMAKE_ARGS
+      "-DCMAKE_INSTALL_PREFIX=${GAR_ARROW_PREFIX}"
+      "-DARROW_BUILD_STATIC=ON"
+      "-DARROW_BUILD_SHARED=OFF"
+      "-DARROW_DEPENDENCY_SOURCE=BUNDLED"
+      "-DARROW_DEPENDENCY_USE_SHARED=OFF"
+      "-DCMAKE_INSTALL_LIBDIR=lib"
+      "-Dxsimd_SOURCE=BUNDLED"
+      "-DARROW_PARQUET=ON"
+      "-DARROW_WITH_RE2=OFF"
+      "-DARROW_WITH_UTF8PROC=OFF"
+      "-DARROW_FILESYSTEM=ON"
+      "-DARROW_CSV=ON"
+      "-DARROW_JSON=ON"
+      "-DARROW_PYTHON=OFF"
+      "-DARROW_BUILD_BENCHMARKS=OFF"
+      "-DARROW_BUILD_TESTS=OFF"
+      "-DARROW_BUILD_INTEGRATION=OFF"
+      "-DBoost_SOURCE=BUNDLED"
+      "-DARROW_ORC=ON"
+      "-DARROW_COMPUTE=ON"
+      "-DARROW_ACERO=ON"
+      "-DARROW_DATASET=ON"
+      "-DARROW_JEMALLOC=OFF"
+      "-DARROW_WITH_SNAPPY=OFF"
+      "-DARROW_WITH_LZ4=OFF"
+      "-DARROW_WITH_ZSTD=ON"
+      "-DARROW_WITH_ZLIB=OFF"
+      "-DARROW_WITH_BROTLI=OFF"
+      "-DARROW_WITH_BZ2=OFF"
+      "-DARROW_OPENSSL_USE_SHARED=ON"
+      "-DARROW_S3=ON")
 
-    set(GAR_ARROW_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-build")
-    set(GAR_ARROW_CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${GAR_ARROW_PREFIX}"
-                             "-DARROW_BUILD_STATIC=ON"
-                             "-DARROW_BUILD_SHARED=OFF"
-                             "-DARROW_DEPENDENCY_SOURCE=BUNDLED"
-                             "-DARROW_DEPENDENCY_USE_SHARED=OFF"
-                             "-DCMAKE_INSTALL_LIBDIR=lib"
-                             "-Dxsimd_SOURCE=BUNDLED"
-                             "-DARROW_PARQUET=ON"
-                             "-DARROW_WITH_RE2=OFF"
-                             "-DARROW_WITH_UTF8PROC=OFF"
-                             "-DARROW_WITH_RE2=OFF"
-                             "-DARROW_FILESYSTEM=ON"
-                             "-DARROW_CSV=ON"
-                             "-DARROW_JSON=ON"
-                             "-DARROW_PYTHON=OFF"
-                             "-DARROW_BUILD_BENCHMAKRS=OFF"
-                             "-DARROW_BUILD_TESTS=OFF"
-                             "-DARROW_BUILD_INTEGRATION=OFF"
-                             "-DBoost_SOURCE=BUNDLED"
-                             "-DARROW_ORC=ON"
-                             "-DARROW_COMPUTE=ON"
-                             "-DARROW_ACERO=ON"
-                             "-DARROW_DATASET=ON"
-                             "-DARROW_JEMALLOC=OFF"
-                             "-DARROW_WITH_SNAPPY=OFF"
-                             "-DARROW_WITH_LZ4=OFF"
-                             "-DARROW_WITH_ZSTD=ON"
-                             "-DARROW_WITH_ZLIB=OFF"
-                             "-DARROW_WITH_BROTLI=OFF"
-                             "-DARROW_WITH_BZ2=OFF"
-                             "-DARROW_OPENSSL_USE_SHARED=ON"
-                             "-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}"
+      "${GAR_ARROW_COMPUTE_STATIC_LIB}")
 
-    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}" 
"${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()
 
-    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(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 ()
+  if(DEFINED ENV{GAR_ARROW_SOURCE_URL})
+    set(GAR_ARROW_SOURCE_URL "$ENV{GAR_ARROW_SOURCE_URL}")
+  else()
+    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()
 
-    include(ExternalProject)
-    externalproject_add(arrow_ep
-            URL "${GAR_ARROW_SOURCE_URL}"
-            SOURCE_SUBDIR cpp
-            BINARY_DIR "${GAR_ARROW_BINARY_DIR}"
-            CMAKE_ARGS "${GAR_ARROW_CMAKE_ARGS}"
-            BUILD_BYPRODUCTS "${GAR_ARROW_BUILD_BYPRODUCTS}")
+  include(ExternalProject)
+  externalproject_add(arrow_ep
+                      URL "${GAR_ARROW_SOURCE_URL}"
+                      SOURCE_SUBDIR cpp
+                      BINARY_DIR "${GAR_ARROW_BINARY_DIR}"
+                      CMAKE_ARGS "${GAR_ARROW_CMAKE_ARGS}"
+                      BUILD_BYPRODUCTS "${GAR_ARROW_BUILD_BYPRODUCTS}")
 
-    set(GAR_ARROW_LIBRARY_TARGET gar_arrow_static)
-    set(GAR_PARQUET_LIBRARY_TARGET gar_parquet_static)
-    set(GAR_DATASET_LIBRARY_TARGET gar_dataset_static)
-    set(GAR_ARROW_BUNDLED_DEPS_TARGET gar_arrow_bundled_dependencies_static)
+  set(GAR_ARROW_LIBRARY_TARGET gar_arrow_static)
+  set(GAR_PARQUET_LIBRARY_TARGET gar_parquet_static)
+  set(GAR_DATASET_LIBRARY_TARGET gar_dataset_static)
+  set(GAR_ARROW_BUNDLED_DEPS_TARGET gar_arrow_bundled_dependencies_static)
 
-    file(MAKE_DIRECTORY "${GAR_ARROW_INCLUDE_DIR}")
-    add_library(${GAR_ARROW_LIBRARY_TARGET} STATIC IMPORTED)
-    add_library(${GAR_PARQUET_LIBRARY_TARGET} STATIC IMPORTED)
-    add_library(${GAR_DATASET_LIBRARY_TARGET} STATIC IMPORTED)
-    add_library(${GAR_ARROW_BUNDLED_DEPS_TARGET} STATIC IMPORTED)
-    set_target_properties(${GAR_ARROW_LIBRARY_TARGET}
-            PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GAR_ARROW_INCLUDE_DIR}
-            IMPORTED_LOCATION ${GAR_ARROW_STATIC_LIB})
-    set_target_properties(${GAR_PARQUET_LIBRARY_TARGET}
-            PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GAR_ARROW_INCLUDE_DIR}
-            IMPORTED_LOCATION ${GAR_PARQUET_STATIC_LIB})
-    set_target_properties(${GAR_DATASET_LIBRARY_TARGET}
-            PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GAR_ARROW_INCLUDE_DIR}
-            IMPORTED_LOCATION ${GAR_DATASET_STATIC_LIB})
-    set_target_properties(${GAR_ARROW_BUNDLED_DEPS_TARGET}
-            PROPERTIES IMPORTED_LOCATION ${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB})
-    if (ARROW_VERSION_TO_BUILD GREATER_EQUAL "12.0.0")
-        set(GAR_ARROW_ACERO_STATIC_LIB_FILENAME
-           
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow_acero${CMAKE_STATIC_LIBRARY_SUFFIX}")
-        set(GAR_ARROW_ACERO_STATIC_LIB 
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_ACERO_STATIC_LIB_FILENAME}" CACHE 
INTERNAL "acero lib")
-        set(GAR_ARROW_ACERO_LIBRARY_TARGET gar_acero_static)
-        add_library(${GAR_ARROW_ACERO_LIBRARY_TARGET} STATIC IMPORTED)
-        set_target_properties(${GAR_ARROW_ACERO_LIBRARY_TARGET}
-            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})
+  file(MAKE_DIRECTORY "${GAR_ARROW_INCLUDE_DIR}")
+  add_library(${GAR_ARROW_LIBRARY_TARGET} STATIC IMPORTED)
+  add_library(${GAR_PARQUET_LIBRARY_TARGET} STATIC IMPORTED)
+  add_library(${GAR_DATASET_LIBRARY_TARGET} STATIC IMPORTED)
+  add_library(${GAR_ARROW_BUNDLED_DEPS_TARGET} STATIC IMPORTED)
+  set_target_properties(${GAR_ARROW_LIBRARY_TARGET}
+                        PROPERTIES INTERFACE_INCLUDE_DIRECTORIES 
${GAR_ARROW_INCLUDE_DIR}
+                                   IMPORTED_LOCATION ${GAR_ARROW_STATIC_LIB})
+  set_target_properties(${GAR_PARQUET_LIBRARY_TARGET}
+                        PROPERTIES INTERFACE_INCLUDE_DIRECTORIES 
${GAR_ARROW_INCLUDE_DIR}
+                                   IMPORTED_LOCATION ${GAR_PARQUET_STATIC_LIB})
+  set_target_properties(${GAR_DATASET_LIBRARY_TARGET}
+                        PROPERTIES INTERFACE_INCLUDE_DIRECTORIES 
${GAR_ARROW_INCLUDE_DIR}
+                                   IMPORTED_LOCATION ${GAR_DATASET_STATIC_LIB})
+  set_target_properties(${GAR_ARROW_BUNDLED_DEPS_TARGET}
+                        PROPERTIES IMPORTED_LOCATION 
${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB})
+  if(ARROW_VERSION_TO_BUILD GREATER_EQUAL "12.0.0")
+    set(GAR_ARROW_ACERO_STATIC_LIB_FILENAME
+        
"${CMAKE_STATIC_LIBRARY_PREFIX}arrow_acero${CMAKE_STATIC_LIBRARY_SUFFIX}")
+    set(GAR_ARROW_ACERO_STATIC_LIB
+        
"${GAR_ARROW_STATIC_LIBRARY_DIR}/${GAR_ARROW_ACERO_STATIC_LIB_FILENAME}"
+        CACHE INTERNAL "acero lib")
+    set(GAR_ARROW_ACERO_LIBRARY_TARGET gar_acero_static)
+    add_library(${GAR_ARROW_ACERO_LIBRARY_TARGET} STATIC IMPORTED)
+    set_target_properties(${GAR_ARROW_ACERO_LIBRARY_TARGET}
+                          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
+  add_dependencies(${GAR_ARROW_LIBRARY_TARGET} arrow_ep)
+endfunction()
diff --git a/cpp/examples/CMakeLists.txt b/cpp/examples/CMakeLists.txt
index 6a214333..518c507d 100644
--- a/cpp/examples/CMakeLists.txt
+++ b/cpp/examples/CMakeLists.txt
@@ -17,53 +17,61 @@
 
 find_package(Boost REQUIRED COMPONENTS graph)
 
-file(GLOB EXAMPLE_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" 
"${CMAKE_CURRENT_SOURCE_DIR}/*.cc")
+file(GLOB EXAMPLE_FILES
+     RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
+     "${CMAKE_CURRENT_SOURCE_DIR}/*.cc")
 foreach(f ${EXAMPLE_FILES})
-    string(REGEX MATCH "^(.*)\\.[^.]*$" dummy ${f})
-    set(E_NAME ${CMAKE_MATCH_1})
-    message(STATUS "Found example - " ${E_NAME})
-    add_executable(${E_NAME} ${E_NAME}.cc)
-    target_include_directories(${E_NAME} PRIVATE
-        ${CMAKE_CURRENT_SOURCE_DIR}
-        ${PROJECT_SOURCE_DIR}/thirdparty
-    )
-    target_include_directories(${E_NAME} SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
-    target_link_libraries(${E_NAME} PRIVATE graphar ${Boost_LIBRARIES} 
${CMAKE_DL_LIBS})
-    
-    if(BUILD_ARROW_FROM_SOURCE)
-        target_include_directories(${E_NAME} SYSTEM BEFORE PRIVATE 
${GAR_ARROW_INCLUDE_DIR})
-        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}"
-                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}"
-                "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}" -Wl,--no-whole-archive)
-        endif()
+  string(REGEX MATCH "^(.*)\\.[^.]*$" dummy ${f})
+  set(E_NAME ${CMAKE_MATCH_1})
+  message(STATUS "Found example - " ${E_NAME})
+  add_executable(${E_NAME} ${E_NAME}.cc)
+  target_include_directories(${E_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+                                               
${PROJECT_SOURCE_DIR}/thirdparty)
+  target_include_directories(${E_NAME} SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
+  target_link_libraries(${E_NAME} PRIVATE graphar ${Boost_LIBRARIES} 
${CMAKE_DL_LIBS})
+
+  if(BUILD_ARROW_FROM_SOURCE)
+    target_include_directories(${E_NAME} SYSTEM BEFORE PRIVATE 
${GAR_ARROW_INCLUDE_DIR})
+    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}"
+                                    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}"
+                                    "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
+                                    -Wl,--no-whole-archive)
+    endif()
+  else()
+    if(APPLE)
+      if(USE_STATIC_ARROW)
+        target_link_libraries(${E_NAME} PRIVATE -Wl,-force_load 
Arrow::arrow_static
+                                                Parquet::parquet_static)
+      else()
+        target_link_libraries(${E_NAME} PRIVATE Arrow::arrow_shared
+                                                Parquet::parquet_shared)
+      endif()
     else()
-        if(APPLE)
-            if(USE_STATIC_ARROW)
-                target_link_libraries(${E_NAME} PRIVATE -Wl,-force_load
-                    Arrow::arrow_static
-                    Parquet::parquet_static)
-            else()
-                target_link_libraries(${E_NAME} PRIVATE Arrow::arrow_shared
-                    Parquet::parquet_shared)
-            endif()
-        else()
-            if(USE_STATIC_ARROW)
-                target_link_libraries(${E_NAME} PRIVATE -Wl,--exclude-libs,ALL 
-Wl,--whole-archive 
-                    Arrow::arrow_static 
-                    Parquet::parquet_static -Wl,--no-whole-archive)
-            else()
-                target_link_libraries(${E_NAME} PRIVATE Arrow::arrow_shared
-                    Parquet::parquet_shared)
-            endif()
-        endif()
+      if(USE_STATIC_ARROW)
+        target_link_libraries(${E_NAME}
+                              PRIVATE -Wl,--exclude-libs,ALL
+                                      -Wl,--whole-archive
+                                      Arrow::arrow_static
+                                      Parquet::parquet_static
+                                      -Wl,--no-whole-archive)
+      else()
+        target_link_libraries(${E_NAME} PRIVATE Arrow::arrow_shared
+                                                Parquet::parquet_shared)
+      endif()
     endif()
+  endif()
 endforeach()
diff --git a/cpp/graphar-config-version.in.cmake 
b/cpp/graphar-config-version.in.cmake
index 9e6f1cce..f2141302 100644
--- a/cpp/graphar-config-version.in.cmake
+++ b/cpp/graphar-config-version.in.cmake
@@ -22,7 +22,7 @@ if("${PACKAGE_VERSION}" VERSION_LESS 
"${PACKAGE_FIND_VERSION}")
   set(PACKAGE_VERSION_COMPATIBLE FALSE)
 else()
   set(PACKAGE_VERSION_COMPATIBLE TRUE)
-  if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
+  if("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
     set(PACKAGE_VERSION_EXACT TRUE)
   endif()
 endif()
diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt
index c4c35120..b82d38a7 100644
--- a/cpp/src/CMakeLists.txt
+++ b/cpp/src/CMakeLists.txt
@@ -15,124 +15,137 @@
 # specific language governing permissions and limitations
 # under the License.
 
-file(GLOB_RECURSE THIRDPARTY_SRC_FILES 
${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/mini-yaml/yaml/*.cpp)
+file(GLOB_RECURSE THIRDPARTY_SRC_FILES
+     ${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/mini-yaml/yaml/*.cpp)
 add_library(graphar_thirdparty STATIC ${THIRDPARTY_SRC_FILES})
-target_include_directories(graphar_thirdparty PRIVATE 
${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty)
+target_include_directories(graphar_thirdparty
+                           PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty)
 target_compile_features(graphar_thirdparty PRIVATE cxx_std_17)
 if(NOT MSVC)
-    target_compile_options(graphar_thirdparty PRIVATE -fPIC -w)
+  target_compile_options(graphar_thirdparty PRIVATE -fPIC -w)
 endif()
 
 file(GLOB_RECURSE CORE_SRC_FILES "graphar/*.cc")
 if(GRAPHAR_BUILD_STATIC)
-    add_library(graphar STATIC ${CORE_SRC_FILES})
+  add_library(graphar STATIC ${CORE_SRC_FILES})
 else()
-    add_library(graphar SHARED ${CORE_SRC_FILES})
+  add_library(graphar SHARED ${CORE_SRC_FILES})
 endif()
 install(TARGETS graphar graphar_thirdparty
         EXPORT graphar-targets
         ARCHIVE DESTINATION lib
         LIBRARY DESTINATION lib
         RUNTIME DESTINATION bin
-        INCLUDES DESTINATION include
-)
+        INCLUDES
+        DESTINATION include)
 target_compile_features(graphar PRIVATE cxx_std_${GAR_CXX_STANDARD})
 target_include_directories(graphar PRIVATE 
${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty)
 if(GRAPHAR_BUILD_STATIC)
-    target_link_libraries(graphar PUBLIC graphar_thirdparty ${CMAKE_DL_LIBS})
+  target_link_libraries(graphar PUBLIC graphar_thirdparty ${CMAKE_DL_LIBS})
 else()
-    target_link_libraries(graphar PRIVATE graphar_thirdparty ${CMAKE_DL_LIBS})
+  target_link_libraries(graphar PRIVATE graphar_thirdparty ${CMAKE_DL_LIBS})
 endif()
 
 if(BUILD_ARROW_FROM_SOURCE)
-    target_include_directories(graphar SYSTEM BEFORE PRIVATE 
${GAR_ARROW_INCLUDE_DIR})
+  target_include_directories(graphar SYSTEM BEFORE PRIVATE 
${GAR_ARROW_INCLUDE_DIR})
 
-    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
-        gar_arrow_bundled_dependencies_static)
-    graphar_car(_FIRST_LIB ${GAR_BUNDLED_DEPS_STATIC_LIBS})
-    graphar_cdr(_OTHER_LIBS ${GAR_BUNDLED_DEPS_STATIC_LIBS})
+  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
+       gar_arrow_bundled_dependencies_static)
+  graphar_car(_FIRST_LIB ${GAR_BUNDLED_DEPS_STATIC_LIBS})
+  graphar_cdr(_OTHER_LIBS ${GAR_BUNDLED_DEPS_STATIC_LIBS})
 
-    graphar_create_merged_static_lib(graphar_bundled_dependencies
-                                    NAME
-                                    graphar_bundled_dependencies
-                                    ROOT
-                                    ${_FIRST_LIB}
-                                    TO_MERGE
-                                    ${_OTHER_LIBS})
-    get_target_property(graphar_bundled_dependencies_path 
graphar_bundled_dependencies
-                        IMPORTED_LOCATION)
-    install(FILES ${CMAKE_BINARY_DIR}/${graphar_bundled_dependencies_path} 
${INSTALL_IS_OPTIONAL}
-            DESTINATION ${CMAKE_INSTALL_LIBDIR})
-    string(APPEND ARROW_PC_LIBS_PRIVATE " -lgraphar_bundled_dependencies")
-    list(INSERT ARROW_STATIC_INSTALL_INTERFACE_LIBS 0 
"graphar_bundled_dependencies")
+  graphar_create_merged_static_lib(
+    graphar_bundled_dependencies
+    NAME
+    graphar_bundled_dependencies
+    ROOT
+    ${_FIRST_LIB}
+    TO_MERGE
+    ${_OTHER_LIBS})
+  get_target_property(graphar_bundled_dependencies_path 
graphar_bundled_dependencies
+                      IMPORTED_LOCATION)
+  install(FILES ${CMAKE_BINARY_DIR}/${graphar_bundled_dependencies_path}
+                ${INSTALL_IS_OPTIONAL} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+  string(APPEND ARROW_PC_LIBS_PRIVATE " -lgraphar_bundled_dependencies")
+  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 Network")
-    elseif(MSVC)
-        target_link_libraries(graphar PRIVATE graphar_bundled_dependencies)
-    else()
-        target_link_libraries(graphar PRIVATE -Wl,--exclude-libs,ALL
-                graphar_bundled_dependencies)
-    endif()
+  if(APPLE)
+    find_package(Protobuf REQUIRED)
+    target_link_libraries(graphar
+                          PRIVATE -Wl,-force_load
+                                  graphar_bundled_dependencies
+                                  protobuf::libprotobuf
+                                  "-framework CoreFoundation"
+                                  "-framework Security"
+                                  "-framework Network")
+  elseif(MSVC)
+    target_link_libraries(graphar PRIVATE graphar_bundled_dependencies)
+  else()
+    target_link_libraries(graphar PRIVATE -Wl,--exclude-libs,ALL
+                                          graphar_bundled_dependencies)
+  endif()
 
-    if(OPENSSL_FOUND)
-        target_link_libraries(graphar PUBLIC OpenSSL::SSL)
+  if(OPENSSL_FOUND)
+    target_link_libraries(graphar PUBLIC OpenSSL::SSL)
+  endif()
+  if(CURL_FOUND)
+    target_link_libraries(graphar PUBLIC ${CURL_LIBRARIES})
+  endif()
+else()
+  if(APPLE)
+    if(USE_STATIC_ARROW)
+      target_link_libraries(graphar
+                            PRIVATE -Wl,-force_load
+                                    Arrow::arrow_static
+                                    Parquet::parquet_static
+                                    ArrowDataset::arrow_dataset_static
+                                    ArrowAcero::arrow_acero_static)
+    else()
+      target_link_libraries(graphar
+                            PRIVATE -Wl,-force_load
+                                    Arrow::arrow_shared
+                                    Parquet::parquet_shared
+                                    ArrowDataset::arrow_dataset_shared
+                                    ArrowAcero::arrow_acero_shared)
     endif()
-    if(CURL_FOUND)
-        target_link_libraries(graphar PUBLIC ${CURL_LIBRARIES})
+  elseif(MSVC)
+    if(USE_STATIC_ARROW)
+      target_link_libraries(graphar
+                            PRIVATE Arrow::arrow_static Parquet::parquet_static
+                                    ArrowDataset::arrow_dataset_static
+                                    ArrowAcero::arrow_acero_static)
+    else()
+      target_link_libraries(graphar
+                            PRIVATE Arrow::arrow_shared Parquet::parquet_shared
+                                    ArrowDataset::arrow_dataset_shared
+                                    ArrowAcero::arrow_acero_shared)
     endif()
-else()
-    if(APPLE)
-        if(USE_STATIC_ARROW)
-            target_link_libraries(graphar PRIVATE -Wl,-force_load
-                Arrow::arrow_static
-                Parquet::parquet_static
-                ArrowDataset::arrow_dataset_static
-                ArrowAcero::arrow_acero_static)
-        else()
-            target_link_libraries(graphar PRIVATE -Wl,-force_load 
Arrow::arrow_shared
-                Parquet::parquet_shared
-                ArrowDataset::arrow_dataset_shared
-                ArrowAcero::arrow_acero_shared)
-        endif()
-    elseif(MSVC)
-        if(USE_STATIC_ARROW)
-            target_link_libraries(graphar PRIVATE
-                Arrow::arrow_static
-                Parquet::parquet_static
-                ArrowDataset::arrow_dataset_static
-                ArrowAcero::arrow_acero_static)
-        else()
-            target_link_libraries(graphar PRIVATE
-                Arrow::arrow_shared
-                Parquet::parquet_shared
-                ArrowDataset::arrow_dataset_shared
-                ArrowAcero::arrow_acero_shared)
-        endif()
+  else()
+    if(USE_STATIC_ARROW)
+      target_link_libraries(graphar
+                            PRIVATE -Wl,--exclude-libs,ALL
+                                    -Wl,--whole-archive
+                                    Arrow::arrow_static
+                                    Parquet::parquet_static
+                                    ArrowDataset::arrow_dataset_static
+                                    ArrowAcero::arrow_acero_static
+                                    -Wl,--no-whole-archive)
     else()
-        if(USE_STATIC_ARROW)
-            target_link_libraries(graphar PRIVATE -Wl,--exclude-libs,ALL 
-Wl,--whole-archive
-                Arrow::arrow_static
-                Parquet::parquet_static
-                ArrowDataset::arrow_dataset_static
-                ArrowAcero::arrow_acero_static -Wl,--no-whole-archive)
-        else()
-            target_link_libraries(graphar PRIVATE -Wl,--exclude-libs,ALL 
-Wl,--whole-archive Arrow::arrow_shared
-                Parquet::parquet_shared
-                ArrowDataset::arrow_dataset_shared
-                ArrowAcero::arrow_acero_shared -Wl,--no-whole-archive)
-        endif()
+      target_link_libraries(graphar
+                            PRIVATE -Wl,--exclude-libs,ALL
+                                    -Wl,--whole-archive
+                                    Arrow::arrow_shared
+                                    Parquet::parquet_shared
+                                    ArrowDataset::arrow_dataset_shared
+                                    ArrowAcero::arrow_acero_shared
+                                    -Wl,--no-whole-archive)
     endif()
+  endif()
 endif()
diff --git a/cpp/test/CMakeLists.txt b/cpp/test/CMakeLists.txt
index 35f25ce0..827b50b8 100644
--- a/cpp/test/CMakeLists.txt
+++ b/cpp/test/CMakeLists.txt
@@ -18,59 +18,71 @@
 find_package(Catch2 3 REQUIRED)
 
 macro(add_graphar_test target)
-    set(options)
-    set(oneValueArgs)
-    set(multiValueArgs SRCS)
-    cmake_parse_arguments(add_test "${options}" "${oneValueArgs}" 
"${multiValueArgs}" ${ARGN})
-    add_executable(${target} ${add_test_SRCS})
-    target_compile_features(${target} PRIVATE cxx_std_${GAR_CXX_STANDARD})
-    target_include_directories(${target} PRIVATE 
-        ${PROJECT_SOURCE_DIR}/thirdparty
-        ${PROJECT_SOURCE_DIR}/include 
-        
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/thirdparty/Catch2/single_include>
-    )
-    target_link_libraries(${target} PRIVATE Catch2::Catch2WithMain 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
-                "${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
-                "${GAR_PARQUET_STATIC_LIB}"
-                "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}" -Wl,--no-whole-archive)
-        endif()
+  set(options)
+  set(oneValueArgs)
+  set(multiValueArgs SRCS)
+  cmake_parse_arguments(add_test
+                        "${options}"
+                        "${oneValueArgs}"
+                        "${multiValueArgs}"
+                        ${ARGN})
+  add_executable(${target} ${add_test_SRCS})
+  target_compile_features(${target} PRIVATE cxx_std_${GAR_CXX_STANDARD})
+  target_include_directories(${target}
+                             PRIVATE ${PROJECT_SOURCE_DIR}/thirdparty
+                                     ${PROJECT_SOURCE_DIR}/include
+                                     
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/thirdparty/Catch2/single_include>
+  )
+  target_link_libraries(${target} PRIVATE Catch2::Catch2WithMain 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
+                                    "${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
+                                    "${GAR_PARQUET_STATIC_LIB}"
+                                    "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
+                                    -Wl,--no-whole-archive)
+    endif()
+  else()
+    if(APPLE)
+      if(USE_STATIC_ARROW)
+        target_link_libraries(${target} PRIVATE -Wl,-force_load 
Arrow::arrow_static
+                                                Parquet::parquet_static)
+      else()
+        target_link_libraries(${target} PRIVATE Arrow::arrow_shared
+                                                Parquet::parquet_shared)
+      endif()
     else()
-        if(APPLE)
-            if(USE_STATIC_ARROW)
-                target_link_libraries(${target} PRIVATE -Wl,-force_load 
-                    Arrow::arrow_static
-                    Parquet::parquet_static)
-            else()
-                target_link_libraries(${target} PRIVATE Arrow::arrow_shared
-                    Parquet::parquet_shared)
-            endif()
-        else()
-            if(USE_STATIC_ARROW)
-                target_link_libraries(${target} PRIVATE -Wl,--exclude-libs,ALL 
-Wl,--whole-archive
-                    Arrow::arrow_static
-                    Parquet::parquet_static -Wl,--no-whole-archive)
-            else()
-                target_link_libraries(${target} PRIVATE Arrow::arrow_shared
-                    Parquet::parquet_shared)
-            endif()
-        endif()
+      if(USE_STATIC_ARROW)
+        target_link_libraries(${target}
+                              PRIVATE -Wl,--exclude-libs,ALL
+                                      -Wl,--whole-archive
+                                      Arrow::arrow_static
+                                      Parquet::parquet_static
+                                      -Wl,--no-whole-archive)
+      else()
+        target_link_libraries(${target} PRIVATE Arrow::arrow_shared
+                                                Parquet::parquet_shared)
+      endif()
     endif()
-    
-    include(CTest)
-    include(Catch)
-    catch_discover_tests(${target})
+  endif()
+
+  include(CTest)
+  include(Catch)
+  catch_discover_tests(${target})
 endmacro()
 
 add_graphar_test(test_info SRCS test_info.cc)
diff --git a/maven-projects/java/CMakeLists.txt 
b/maven-projects/java/CMakeLists.txt
index c6e66daf..40a46060 100644
--- a/maven-projects/java/CMakeLists.txt
+++ b/maven-projects/java/CMakeLists.txt
@@ -18,16 +18,23 @@
 cmake_minimum_required(VERSION 3.6)
 project(gar-java)
 
-option(BUILD_GAR_CPP "Build GraphAr C++ library with specific version by 
default, run mvn with `-DbuildGarCPP=OFF` to turn off" ON)
+option(BUILD_GAR_CPP
+       "Build GraphAr C++ library with specific version by default, run mvn 
with `-DbuildGarCPP=OFF` to turn off"
+       ON)
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -g -std=c++17 -Wall")
 
 # set auto-generated JNI code and handwriting JNI code as source files
-file(GLOB SOURCES 
"${CMAKE_CURRENT_SOURCE_DIR}/target/generated-sources/annotations/*.cc"
-                  
"${CMAKE_CURRENT_SOURCE_DIR}/target/generated-test-sources/test-annotations/*.cc"
-                  "${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/ffi/*.cc")
+file(GLOB
+     SOURCES
+     "${CMAKE_CURRENT_SOURCE_DIR}/target/generated-sources/annotations/*.cc"
+     
"${CMAKE_CURRENT_SOURCE_DIR}/target/generated-test-sources/test-annotations/*.cc"
+     "${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/ffi/*.cc")
 # remove auto-generated JNI code for specific method cause we have handwriting 
JNI code for it
-list(REMOVE_ITEM SOURCES 
"${CMAKE_CURRENT_SOURCE_DIR}/target/generated-sources/annotations/jni_org_apache_graphar_arrow_ArrowTable_Static_cxx_0x58c7409.cc")
+list(REMOVE_ITEM
+     SOURCES
+     
"${CMAKE_CURRENT_SOURCE_DIR}/target/generated-sources/annotations/jni_org_apache_graphar_arrow_ArrowTable_Static_cxx_0x58c7409.cc"
+)
 
 set(LIBNAME "graphar-jni")
 
@@ -45,14 +52,14 @@ find_package(Arrow REQUIRED)
 add_library(${LIBNAME} SHARED ${SOURCES})
 # build GraphAr C++ library or link system installed GraphAr C++ library
 if(${BUILD_GAR_CPP})
-    include(graphar-cpp)
-    build_graphar_cpp()
-    target_link_libraries(${LIBNAME} ${CMAKE_JNI_LINKER_FLAGS} graphar)
-    # include graphar-cpp headers
-    target_include_directories(${LIBNAME} SYSTEM BEFORE PRIVATE 
${GAR_INCLUDE_DIR})
+  include(graphar-cpp)
+  build_graphar_cpp()
+  target_link_libraries(${LIBNAME} ${CMAKE_JNI_LINKER_FLAGS} graphar)
+  # include graphar-cpp headers
+  target_include_directories(${LIBNAME} SYSTEM BEFORE PRIVATE 
${GAR_INCLUDE_DIR})
 else()
-    find_package(graphar REQUIRED)
-    target_link_libraries(${LIBNAME} ${CMAKE_JNI_LINKER_FLAGS} graphar)
+  find_package(graphar REQUIRED)
+  target_link_libraries(${LIBNAME} ${CMAKE_JNI_LINKER_FLAGS} graphar)
 endif()
 target_link_libraries(${LIBNAME} ${CMAKE_JNI_LINKER_FLAGS} Arrow::arrow_shared)
 
@@ -61,9 +68,14 @@ set_target_properties(${LIBNAME} PROPERTIES LINKER_LANGUAGE 
CXX)
 # post generated files to target directory
 add_custom_command(TARGET ${LIBNAME}
                    POST_BUILD
-                   COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${LIBNAME}> 
"${CMAKE_CURRENT_SOURCE_DIR}/target/classes/")
+                   COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${LIBNAME}>
+                           "${CMAKE_CURRENT_SOURCE_DIR}/target/classes/")
 
 add_custom_command(TARGET ${LIBNAME}
                    POST_BUILD
-                   COMMAND ${CMAKE_COMMAND} -E make_directory 
${CMAKE_CURRENT_SOURCE_DIR}/target/native/bitcode
-                   COMMAND ${CMAKE_COMMAND} -E copy_if_different 
$<TARGET_OBJECTS:${LIBNAME}> ${CMAKE_CURRENT_SOURCE_DIR}/target/native/bitcode 
COMMAND_EXPAND_LISTS)
\ No newline at end of file
+                   COMMAND ${CMAKE_COMMAND} -E make_directory
+                           ${CMAKE_CURRENT_SOURCE_DIR}/target/native/bitcode
+                   COMMAND ${CMAKE_COMMAND} -E copy_if_different
+                           $<TARGET_OBJECTS:${LIBNAME}>
+                           ${CMAKE_CURRENT_SOURCE_DIR}/target/native/bitcode
+                   COMMAND_EXPAND_LISTS)
diff --git a/maven-projects/java/cmake/graphar-cpp.cmake 
b/maven-projects/java/cmake/graphar-cpp.cmake
index 7f305908..cc620b8a 100644
--- a/maven-projects/java/cmake/graphar-cpp.cmake
+++ b/maven-projects/java/cmake/graphar-cpp.cmake
@@ -35,56 +35,59 @@
 # This cmake file is referred and derived from
 # https://github.com/apache/arrow/blob/master/matlab/CMakeLists.txt
 
-
 # Build the GraphAr C++ libraries.
 function(build_graphar_cpp)
-    set(one_value_args)
-    set(multi_value_args)
+  set(one_value_args)
+  set(multi_value_args)
 
-    cmake_parse_arguments(ARG
-            "${options}"
-            "${one_value_args}"
-            "${multi_value_args}"
-            ${ARGN})
-    if (ARG_UNPARSED_ARGUMENTS)
-        message(SEND_ERROR "Error: unrecognized arguments: 
${ARG_UNPARSED_ARGUMENTS}")
-    endif ()
+  cmake_parse_arguments(ARG
+                        "${options}"
+                        "${one_value_args}"
+                        "${multi_value_args}"
+                        ${ARGN})
+  if(ARG_UNPARSED_ARGUMENTS)
+    message(SEND_ERROR "Error: unrecognized arguments: 
${ARG_UNPARSED_ARGUMENTS}")
+  endif()
 
-    # If GraphAr needs to be built, the default location will be within the 
build tree.
-    set(GAR_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/graphar_ep-prefix")
+  # If GraphAr needs to be built, the default location will be within the 
build tree.
+  set(GAR_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/graphar_ep-prefix")
 
-    set(GAR_SHARED_LIBRARY_DIR "${GAR_PREFIX}/lib")
+  set(GAR_SHARED_LIBRARY_DIR "${GAR_PREFIX}/lib")
 
-    set(GAR_SHARED_LIB_FILENAME
-            
"${CMAKE_SHARED_LIBRARY_PREFIX}graphar${CMAKE_SHARED_LIBRARY_SUFFIX}")
-    set(GAR_SHARED_LIB "${GAR_SHARED_LIBRARY_DIR}/${GAR_SHARED_LIB_FILENAME}" 
CACHE INTERNAL "graphar cpp lib")
+  set(GAR_SHARED_LIB_FILENAME
+      "${CMAKE_SHARED_LIBRARY_PREFIX}graphar${CMAKE_SHARED_LIBRARY_SUFFIX}")
+  set(GAR_SHARED_LIB
+      "${GAR_SHARED_LIBRARY_DIR}/${GAR_SHARED_LIB_FILENAME}"
+      CACHE INTERNAL "graphar cpp lib")
 
-    set(GAR_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/graphar_ep-build")
-    set(GAR_CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${GAR_PREFIX}")
+  set(GAR_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/graphar_ep-build")
+  set(GAR_CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${GAR_PREFIX}")
 
-    set(GAR_INCLUDE_DIR "${GAR_PREFIX}/include" CACHE INTERNAL "graphar cpp 
include directory")
-    set(GAR_BUILD_BYPRODUCTS "${GAR_SHARED_LIB}")
+  set(GAR_INCLUDE_DIR
+      "${GAR_PREFIX}/include"
+      CACHE INTERNAL "graphar cpp include directory")
+  set(GAR_BUILD_BYPRODUCTS "${GAR_SHARED_LIB}")
 
-    set(GAR_VERSION_TO_BUILD "v0.12.0")
+  set(GAR_VERSION_TO_BUILD "v0.12.0")
 
-    include(ExternalProject)
-    ExternalProject_Add(graphar_ep
-            GIT_REPOSITORY https://github.com/apache/incubator-graphar.git
-            GIT_TAG ${GAR_VERSION_TO_BUILD}
-            GIT_SHALLOW TRUE
-            GIT_SUBMODULES ""
-            SOURCE_SUBDIR cpp
-            BINARY_DIR "${GAR_BINARY_DIR}"
-            CMAKE_ARGS "${GAR_CMAKE_ARGS}"
-            BUILD_BYPRODUCTS "${GAR_BUILD_BYPRODUCTS}")
+  include(ExternalProject)
+  externalproject_add(graphar_ep
+                      GIT_REPOSITORY 
https://github.com/apache/incubator-graphar.git
+                      GIT_TAG ${GAR_VERSION_TO_BUILD}
+                      GIT_SHALLOW TRUE
+                      GIT_SUBMODULES ""
+                      SOURCE_SUBDIR cpp
+                      BINARY_DIR "${GAR_BINARY_DIR}"
+                      CMAKE_ARGS "${GAR_CMAKE_ARGS}"
+                      BUILD_BYPRODUCTS "${GAR_BUILD_BYPRODUCTS}")
 
-    set(GAR_LIBRARY_TARGET graphar)
+  set(GAR_LIBRARY_TARGET graphar)
 
-    file(MAKE_DIRECTORY "${GAR_INCLUDE_DIR}")
-    add_library(${GAR_LIBRARY_TARGET} SHARED IMPORTED)
-    set_target_properties(${GAR_LIBRARY_TARGET}
-            PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${GAR_INCLUDE_DIR}
-            IMPORTED_LOCATION ${GAR_SHARED_LIB})
+  file(MAKE_DIRECTORY "${GAR_INCLUDE_DIR}")
+  add_library(${GAR_LIBRARY_TARGET} SHARED IMPORTED)
+  set_target_properties(${GAR_LIBRARY_TARGET}
+                        PROPERTIES INTERFACE_INCLUDE_DIRECTORIES 
${GAR_INCLUDE_DIR}
+                                   IMPORTED_LOCATION ${GAR_SHARED_LIB})
 
-    add_dependencies(${GAR_LIBRARY_TARGET} graphar_ep)
+  add_dependencies(${GAR_LIBRARY_TARGET} graphar_ep)
 endfunction()
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 8c51edb5..acbcf70f 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -21,10 +21,9 @@ cmake_minimum_required(VERSION 3.15)
 
 # Scikit-build-core sets these values for you, or you can just hard-code the
 # name and version.
-project(
-  ${SKBUILD_PROJECT_NAME}
-  VERSION ${SKBUILD_PROJECT_VERSION}
-  LANGUAGES CXX)
+project(${SKBUILD_PROJECT_NAME}
+        VERSION ${SKBUILD_PROJECT_VERSION}
+        LANGUAGES CXX)
 
 set(CMAKE_CXX_STANDARD 17)
 
@@ -36,15 +35,18 @@ if(EXISTS 
"${CMAKE_CURRENT_SOURCE_DIR}/_bundled_cpp/CMakeLists.txt")
 elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../cpp/CMakeLists.txt")
   set(GRAPHAR_CPP_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../cpp")
 else()
-  message(FATAL_ERROR "GraphAr C++ sources not found. Expected either 
'_bundled_cpp/' or '../cpp/'.")
+  message(FATAL_ERROR "GraphAr C++ sources not found. Expected either 
'_bundled_cpp/' or '../cpp/'."
+  )
 endif()
 
 # Verify that the expected subdirectories exist before adding the C++ sources.
 if(NOT EXISTS "${GRAPHAR_CPP_SOURCE_DIR}/src")
-  message(FATAL_ERROR "GraphAr C++ sources are missing the 'src' directory 
under '${GRAPHAR_CPP_SOURCE_DIR}'.")
+  message(FATAL_ERROR "GraphAr C++ sources are missing the 'src' directory 
under '${GRAPHAR_CPP_SOURCE_DIR}'."
+  )
 endif()
 if(NOT EXISTS "${GRAPHAR_CPP_SOURCE_DIR}/thirdparty")
-  message(FATAL_ERROR "GraphAr C++ sources are missing the 'thirdparty' 
directory under '${GRAPHAR_CPP_SOURCE_DIR}'.")
+  message(FATAL_ERROR "GraphAr C++ sources are missing the 'thirdparty' 
directory under '${GRAPHAR_CPP_SOURCE_DIR}'."
+  )
 endif()
 
 add_subdirectory(${GRAPHAR_CPP_SOURCE_DIR} ${CMAKE_BINARY_DIR}/graphar)
@@ -65,7 +67,8 @@ if(APPLE)
   # directories to LC_RPATH so deallocate can find and copy them.
   set(_graphar_macos_rpaths "")
 
-  foreach(_tgt IN ITEMS Arrow::arrow_shared ArrowDataset::arrow_dataset_shared 
ArrowAcero::arrow_acero_shared Parquet::parquet_shared)
+  foreach(_tgt IN ITEMS Arrow::arrow_shared ArrowDataset::arrow_dataset_shared
+                        ArrowAcero::arrow_acero_shared Parquet::parquet_shared)
     if(TARGET ${_tgt})
       get_target_property(_loc ${_tgt} IMPORTED_LOCATION_RELEASE)
       if(NOT _loc)
@@ -81,24 +84,31 @@ if(APPLE)
   list(REMOVE_DUPLICATES _graphar_macos_rpaths)
 endif()
 # Check if ORC is enabled.
-if (NOT ${ARROW_ORC})
-    message(WARNING "apache-arrow is built without ORC extension, ORC related 
functionalities will be disabled.")
+if(NOT ${ARROW_ORC})
+  message(WARNING "apache-arrow is built without ORC extension, ORC related 
functionalities will be disabled."
+  )
 else()
-    add_definitions(-DARROW_ORC) # Add macro, otherwise inconsistent in build 
phase on ubuntu.
+  add_definitions(-DARROW_ORC
+  )# Add macro, otherwise inconsistent in build phase on ubuntu.
 endif()
 # Add a library using FindPython's tooling (pybind11 also provides a helper 
like
 # this)
-python_add_library(_core MODULE src/bindings/types_binding.cc
-                                   src/bindings/cli_binding.cc
-                                   src/bindings/graph_info_binding.cc
-                                   src/bindings/high_level_binding.cc
-                                   src/bindings/_core_module.cc WITH_SOABI)
-                                   
-target_link_libraries(_core PRIVATE pybind11::headers graphar 
Arrow::arrow_shared
-                                    Parquet::parquet_shared
-                                    ArrowDataset::arrow_dataset_shared
-                                    ArrowAcero::arrow_acero_shared
-                                    )
+python_add_library(_core
+                   MODULE
+                   src/bindings/types_binding.cc
+                   src/bindings/cli_binding.cc
+                   src/bindings/graph_info_binding.cc
+                   src/bindings/high_level_binding.cc
+                   src/bindings/_core_module.cc
+                   WITH_SOABI)
+
+target_link_libraries(_core
+                      PRIVATE pybind11::headers
+                              graphar
+                              Arrow::arrow_shared
+                              Parquet::parquet_shared
+                              ArrowDataset::arrow_dataset_shared
+                              ArrowAcero::arrow_acero_shared)
 target_include_directories(_core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
 target_include_directories(_core PRIVATE ${GRAPHAR_CPP_SOURCE_DIR}/src)
 target_include_directories(_core PRIVATE ${GRAPHAR_CPP_SOURCE_DIR}/thirdparty)
@@ -123,7 +133,8 @@ if(APPLE)
   if(TARGET graphar)
     set_target_properties(graphar PROPERTIES BUILD_WITH_INSTALL_RPATH ON)
     if(_graphar_macos_rpaths)
-      set_target_properties(graphar PROPERTIES INSTALL_RPATH 
"${_graphar_macos_rpaths_joined}")
+      set_target_properties(graphar PROPERTIES INSTALL_RPATH
+                                               
"${_graphar_macos_rpaths_joined}")
     endif()
   endif()
 else()
@@ -133,4 +144,4 @@ endif()
 
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/cli/ DESTINATION cli)
 install(TARGETS graphar DESTINATION graphar)
-install(TARGETS _core DESTINATION graphar)
\ No newline at end of file
+install(TARGETS _core DESTINATION graphar)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to