boostorg / boostorg/boost_install

Exported CMake config should use thirdparty lib targets and preferably find them on its own

Open
#64 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
11
Forks
37
PR merge metrics
No merged PRs in 30d

Description

```
if(CMAKE_CONFIGURATION_TYPES)
set_property(TARGET Boost::iostreams APPEND PROPERTY INTERFACE_LINK_LIBRARIES
"$<$:bz2;lzma;z;zstd>")
else()
set_property(TARGET Boost::iostreams APPEND PROPERTY INTERFACE_LINK_LIBRARIES
bz2 lzma z zstd)
endif()
```

This is not going to work if I just link to Boost::iostreams. How should a consumer know that those libraries are needed?
If I am not mistaken, In modern CMake you would call `find_dependencies(ZSTD::ZSTD $Version)` and then link to the imported target in your exported CMake file.

This gets especially tricky with boost::regex and ICU, where I don't even know which version I should find in my own CMake script that is "finding" boost.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.