rok commented on code in PR #48964:
URL: https://github.com/apache/arrow/pull/48964#discussion_r2724184579
##########
cpp/cmake_modules/ThirdpartyToolchain.cmake:
##########
@@ -1864,12 +1864,63 @@ if(ARROW_WITH_THRIFT)
list(GET Thrift_VERSION_LIST 2 Thrift_VERSION_PATCH)
endif()
+# ----------------------------------------------------------------------
+# Abseil defined here so it can be called from build_protobuf()
+
+function(build_absl)
+ list(APPEND CMAKE_MESSAGE_INDENT "ABSL: ")
+ message(STATUS "Building Abseil from source using FetchContent")
+ set(ABSL_VENDORED
+ TRUE
+ PARENT_SCOPE)
+
+ if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION
VERSION_GREATER_EQUAL 13.0)
+ string(APPEND CMAKE_CXX_FLAGS " -include stdint.h")
+ endif()
+
+ fetchcontent_declare(absl
+ ${FC_DECLARE_COMMON_OPTIONS} OVERRIDE_FIND_PACKAGE
+ URL ${ABSL_SOURCE_URL}
+ URL_HASH "SHA256=${ARROW_ABSL_BUILD_SHA256_CHECKSUM}")
+
+ prepare_fetchcontent()
+
+ # We have to enable Abseil install to add Abseil targets to an export set.
+ # But we don't install Abseil by EXCLUDE_FROM_ALL.
+ set(ABSL_ENABLE_INSTALL ON)
+ fetchcontent_makeavailable(absl)
Review Comment:
```suggestion
set(ABSL_ENABLE_INSTALL ON)
set(ABSL_BUILD_CRC32C OFF) # Prevent conflict with google-cloud-cpp's
crc32c
fetchcontent_makeavailable(absl)
```
As per Claude: Abseil 20250127.0 includes its own crc32c target which
conflicts with google-cloud-cpp's standalone crc32c library.
--
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]