CMake: remove external nlohmann_json from INTERFACE_LINK_LIBRARIES target #2780
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It seemed that when external nlohmann_json was enabled, the INTERFACE_LINK_LIBRARIES property from the PROJ::proj CMake target included
$<LINK_ONLY:nlohmann_json::nlohmann_json>
. This causes issues while static linking in downstream projects, and was apparent with some of my contributions to #2686 with projsync and two tests (now removed in this PR). This possible resolution (with the help of this issue discussion) uses$<BUILD_INTERFACE:...>
:This fix has been verified locally with a forthcoming post-install suite that includes static linking.
Closes #2762