Copilot commented on code in PR #904:
URL: https://github.com/apache/incubator-graphar/pull/904#discussion_r2911484503


##########
cpp/CMakeLists.txt:
##########
@@ -284,57 +298,62 @@ 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(ERROR
+              "The OpenSSL must be greater than or equal to 1.1.0, current 
version is  ${OPENSSL_VERSION}"
+      )

Review Comment:
   `message(ERROR ...)` isn't a valid CMake message mode and will itself error 
when this branch is hit. If the intent is to stop configuration when OpenSSL < 
1.1.0 is detected, use `message(FATAL_ERROR ...)` (or `SEND_ERROR` if you want 
to continue processing).



##########
.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
       

Review Comment:
   The cmake-format hook is added, but the repository config file is named 
`cmake-format.py` and isn't referenced here. `cmake-format` typically 
auto-discovers `.cmake-format.py`/`.cmake-format.yaml`, so this setup may run 
with default formatting settings in CI and on contributors' machines. Rename 
the config to `.cmake-format.py` or pass the config explicitly via hook `args` 
(e.g., `--config-files cmake-format.py`).



##########
cpp/cmake/apache-arrow.cmake:
##########
@@ -35,139 +35,162 @@
 # 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_WITH_RE2=OFF"
+      "-DARROW_FILESYSTEM=ON"
+      "-DARROW_CSV=ON"
+      "-DARROW_JSON=ON"
+      "-DARROW_PYTHON=OFF"
+      "-DARROW_BUILD_BENCHMAKRS=OFF"
+      "-DARROW_BUILD_TESTS=OFF"

Review Comment:
   The Arrow CMake option name is misspelled as `ARROW_BUILD_BENCHMAKRS` 
(missing "R"). This will be ignored by Arrow and may accidentally build 
benchmarks. Use the correct `ARROW_BUILD_BENCHMARKS` option name in the CMake 
args list.



##########
cpp/cmake/apache-arrow.cmake:
##########
@@ -35,139 +35,162 @@
 # 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_WITH_RE2=OFF"
+      "-DARROW_FILESYSTEM=ON"

Review Comment:
   `GAR_ARROW_CMAKE_ARGS` includes `-DARROW_WITH_RE2=OFF` twice. This 
duplication is redundant and can make it harder to audit the Arrow build 
configuration; remove the duplicate entry to keep the option list unambiguous.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to