Skip to content

[C++] arrow.pc with system RE2 2023-06-01 or later has missing dependencies #39930

@kou

Description

@kou

Describe the enhancement requested

Because RE2 2023-06-01 or later require Abseil but we always use only libre2.a to avoid -std=c++:

if(ARROW_WITH_RE2)
# Don't specify "PC_PACKAGE_NAMES re2" here because re2.pc may
# include -std=c++11. It's not compatible with C source and C++
# source not uses C++ 11.
resolve_dependency(re2 HAVE_ALT TRUE)
if(${re2_SOURCE} STREQUAL "SYSTEM" AND ARROW_BUILD_STATIC)
get_target_property(RE2_TYPE re2::re2 TYPE)
if(NOT RE2_TYPE STREQUAL "INTERFACE_LIBRARY")
string(APPEND ARROW_PC_LIBS_PRIVATE " $<TARGET_FILE:re2::re2>")
endif()
endif()
add_definitions(-DARROW_WITH_RE2)
endif()

I can't remember which platform's re2.pc has -std=c++11 when I wrote #10626... but it may not exist now.

Component(s)

C++

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions