Fix a bug that unexpectedly created library symlink #550
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.
There was a bug in CMake that created library symlink when the CMake target name and the generated library name were different, but the library symlink was created when the two names were the same.
This bug occurred when the generated library name (
OUTPUT_NAME
property) contained a CMake generator expression (e.g.OUTPUT_NAME=$<IF:$<PLATFORM_ID:Windows>,pqxx,pqxx-7.7>
).If the library symlink is created when two names are the same, the source and destination of the link will have the same name, resulting in a circular reference (e.g.
libpqxx.a -> libpqxx.a
).Avoid unexpected creation of library symlink by comparing the CMake target name with the generated library name when evaluating CMake generator expressions.