Even though the CMake Threads::Threads target is linked to flashlight-text via private link visibility (such that downstream targets can't see the required target dep, it still creates a LINK_ONLY genexp in the generated flashlight-text-targets config, which means that Threads is required.
This is always required in any build, standalone or not, so make the find_dependency call in flashlight-text-config agnostic to whether or not FL_TEXT_BUILD_STANDALONE is enabled.
This was discovered whe using a Linux arm64 machine runner (with more comprehensive CircleCI matrices) which wasn't configured to have libpthread along its LD_LIBRARY_PATH for whatever reason, and required explicit linkage. Either way, the Threads::Threads target is generated, and needs to be valid regardless of the setup.
Checklist
[x] Test coverage
[x] Tests pass
[x] Code formatted
[x] Rebased on latest matter
[x] Code documented
Test plan: CI on machine Linux arm64 runner, which revealed the problem + local test
Summary
Even though the CMake
Threads::Threads
target is linked toflashlight-text
via private link visibility (such that downstream targets can't see the required target dep, it still creates aLINK_ONLY
genexp in the generatedflashlight-text-targets
config, which means thatThreads
is required.This is always required in any build, standalone or not, so make the
find_dependency
call inflashlight-text-config
agnostic to whether or notFL_TEXT_BUILD_STANDALONE
is enabled.This was discovered whe using a Linux arm64 machine runner (with more comprehensive CircleCI matrices) which wasn't configured to have libpthread along its
LD_LIBRARY_PATH
for whatever reason, and required explicit linkage. Either way, theThreads::Threads
target is generated, and needs to be valid regardless of the setup.Checklist
Test plan: CI on machine Linux arm64 runner, which revealed the problem + local test