raulcd commented on code in PR #48964:
URL: https://github.com/apache/arrow/pull/48964#discussion_r3014648055
##########
cpp/cmake_modules/ThirdpartyToolchain.cmake:
##########
@@ -1890,12 +1882,66 @@ 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()
+
+ # Unity build causes symbol redefinition errors (e.g. kDigits in
+ # time_zone_fixed.cc and time_zone_posix.cc anonymous namespaces).
+ set(CMAKE_UNITY_BUILD OFF)
+ # 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)
Review Comment:
I don't think we can, if I change I get this on configure:
```
-- Configuring done (161.9s)
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_absl_check" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_absl_log" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_algorithm" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_base" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_bind_front" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_bits" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_btree" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_cleanup" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_cord" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_core_headers" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_debugging" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_die_if_null" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_dynamic_annotations" that is not in any export
set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_flags" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_flat_hash_map" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_flat_hash_set" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_function_ref" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_hash" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_layout" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_log_initialize" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_log_globals" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_log_severity" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_memory" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_node_hash_map" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_node_hash_set" that is not in any export set.
CMake Error in build/_deps/protobuf-src/CMakeLists.txt:
install(EXPORT "protobuf-targets" ...) includes target "libprotobuf-lite"
which requires target "absl_optional" that is not in any export set.
....
```
--
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]