apache / apache/arrow

[C++] ARROW_STATIC_INSTALL_INTERFACE_LIBS declarations are usually forgotten because they are separate

Open
#50,753 1 comment 0 reactions 0 assignees View on GitHub
Component: C++ Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

When building with Static linking System dependencies we have to add the targets to `ARROW_STATIC_INSTALL_INTERFACE_LIBS`, otherwise we get failures like:
https://github.com/apache/arrow/issues/50739

This usually is forgotten as is separate from other dependency declarations causing some CI failures, new PRs:
https://github.com/apache/arrow/blob/d735dc90a79b61e91f77781ec20a348464b52d81/cpp/src/arrow/CMakeLists.txt#L36-L138

It would be nice if we had a more automated way of doing this (resolve_dependency?) or this would be co-located to the rest of declarations so its not forgotten.

### Component(s)

C++

Contributor guide

Open the contributing guide

Research direction

Start with the dependency declarations in cpp/src/arrow/CMakeLists.txt, especially the ARROW_STATIC_INSTALL_INTERFACE_LIBS entries, and compare them with the related failure in issue 50739. Determine whether co-locating the declarations or automating their resolution best prevents omissions; done means static-linking CI no longer fails from missing system dependency targets.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.