Add CMAKE_PREFIX_PATH to ament_cmake and cmake templates #606
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 CMake variable is already set for the
catkin
template, but is not currently set for theament_cmake
and plaincmake
templates.The
CMAKE_INSTALL_PREFIX
variable seems to be sufficient to allow CMake to find packages which are installed under that path, however when a package is present in a system location as well as under the target installation prefix, preference is given to the system package (given that it satisfies any version requirements specified).Setting
CMAKE_PREFIX_PATH
should give preference to the packages under that path when a package is also available as a system package and both satisfy any version requirements.Note that the RPM templates are already using
CMAKE_PREFIX_PATH
in this way.This is motivated by some internal discussions at Open Robotics, which were initiated after observations of this (mis)behavior in
google_benchmark_vendor
andconsole_bridge_vendor
(see ros2/console_bridge_vendor#19).I'm not anticipating any breakage caused by this change (beyond the need to resolve patching conflicts in some packages), but since it touches a significant amount of packages, I'm planning to do a minor version bump when releasing Bloom.