Fix setup.sh and install dirs with absolute paths #3138
Merged
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.
#3061 introduced a similar problem to the one I fixed in #3076.
CMAKE_INSTALL_*DIR
can be absolute, so it cannot be concatenated withCMAKE_INSTALL_PREFIX
. Forsetup.sh
though, we still want to use relative paths if possible to keep it relocatable. I implemented this similarly to the pkgconfig file, using thejoin_paths
function. With this patch, if theCMAKE_INSTALL_*DIR
variables are relative,setup.sh
uses paths relative to${installPrefix}
(as before), whereas if those variables are absolute,setup.sh
contains absolute paths. TheGAZEBO_*_PATH
variables are made always absolute usingCMAKE_INSTALL_FULL_*DIR
, retaining the existing behavior. I haven't tested this on Windows, so you may want to verify thatsetup.bat
still contains the correct values.cc @scpeters