Do not overwrite default linker flags so that LDFLAGS environment variable is considered #2922
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.
This fix emerged from conda-forge/gazebo-feedstock#38 (comment) but I then forgot to submit it upstream.
For specific build or packaging environment, it is a common practice to use the
LDFLAGS
environment variable to specify some desired linker flags. This mechanism is for example used byconda-build
to handle the RPATH settings correctly, and it normally works well for most CMake projects. In the case of Gazebo, this mechanism was not working correctly, because what CMake does is to take the content of theLDFLAGS
and put it in theCMAKE_***_LINKER_FLAGS
, but then the Gazebo build script were overwriting those variables, effectively ignoring the value ofLDFLAGS
.This PR fixes this problem (and a similar problem for the
CFLAGS
) by appending the Gazebo-specific flags to the CMake variable, rather then overwriting them.