[osg] Fix conflict when asio and boost-asio are installed. #11715
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.
When asio and boost-asio are installed, osg's build scripts would choose the standalone version of asio, but uses features specific to boost-asio. This patch forces the port to always use boost-asio, as the original CONTROL file indicated was the intent.
Also fixed transitive dependencies not being declared that just happened to get installed because boost-asio is a dependency.
Replaces #11645 without introducing potential undefined behavior by switching from boost::bind to std::bind (because std::bind does not transfer asio associated_executor and associated_allocator in asio's completion token protocol).
Co-authored by @JackBoosY
Related: #11502 #921.
Fix #11686