kou commented on code in PR #14082:
URL: https://github.com/apache/arrow/pull/14082#discussion_r1050175283
##########
cpp/cmake_modules/ThirdpartyToolchain.cmake:
##########
@@ -4580,6 +4607,98 @@ if(ARROW_WITH_OPENTELEMETRY)
message(STATUS "Found OpenTelemetry headers: ${OPENTELEMETRY_INCLUDE_DIR}")
endif()
+# ----------------------------------------------------------------------
+# nanoarrow (only used for tests)
+
+macro(build_nanoarrow)
+ message(STATUS "Building nanoarrow from source")
+ set(NANOARROW_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/nanoarrow_ep-install")
+ set(NANOARROW_INCLUDE_DIR "${NANOARROW_PREFIX}/include")
+ set(NANOARROW_LIB_DIR "lib")
+
+ set(NANOARROW_COMMON_CMAKE_ARGS
+ ${EP_COMMON_CMAKE_ARGS}
+ "-DCMAKE_INSTALL_LIBDIR=${NANOARROW_LIB_DIR}"
+ "-DCMAKE_INSTALL_PREFIX=${NANOARROW_PREFIX}"
+ "-DCMAKE_PREFIX_PATH=${NANOARROW_PREFIX}"
+ "-DCMAKE_UNITY_BUILD=ON")
+ set(NANOARROW_STATIC_LIBRARY
+
"${NANOARROW_PREFIX}/${NANOARROW_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}nanoarrow${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ )
+
+ file(MAKE_DIRECTORY ${NANOARROW_INCLUDE_DIR})
+
+ add_library(nanoarrow STATIC IMPORTED)
+ set_target_properties(nanoarrow
+ PROPERTIES IMPORTED_LOCATION
"${NANOARROW_STATIC_LIBRARY}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${NANOARROW_INCLUDE_DIR}")
+ externalproject_add(nanoarrow_ep
+ ${EP_LOG_OPTIONS}
+ URL ${NANOARROW_SOURCE_URL}
+ URL_HASH
"SHA256=${ARROW_NANOARROW_BUILD_SHA256_CHECKSUM}"
+ CMAKE_ARGS ${NANOARROW_COMMON_CMAKE_ARGS}
+ BUILD_BYPRODUCTS "${NANOARROW_STATIC_LIBRARY}")
+ set(NANOARROW_LINK_LIBRARIES nanoarrow)
+ add_dependencies(nanoarrow nanoarrow_ep)
+endmacro()
+
+if(ARROW_WITH_NANOARROW)
+ set(nanoarrow_SOURCE "AUTO")
+ resolve_dependency(nanoarrow HAVE_ALT FALSE)
Review Comment:
NOTE: It seems that nanoarrow doesn't provide its CMake package yet:
https://github.com/apache/arrow-nanoarrow/blob/main/CMakeLists.txt
We can find nanoarrow that is installed separately once nanoarrow provides
its CMake package.
--
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]