[C++] ARROW_STATIC_INSTALL_INTERFACE_LIBS declarations are usually forgotten because they are separate
- 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
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