🔧 avoid the installation of boost cmake config.#140
Conversation
|
All tests passed for pkg.boost. ✔️ |
|
Does the ID value on the last line of |
Yes thanks for pointing the specific id out, that was the bit I was asking. I’ll push that change to PACKAGE_INTERNAL_DEPS_ID. |
|
Read also my #133 (comment) about |
|
I upgraded Boost PACKAGE_INTERNAL_DEPS_ID as pointed out by @BenWhetton. And relaunched tests on the test.boost branch. See builds in progress :
I've replied there, I think you are right on the long term, but as of Boost 1.72.0 I don't see another option as this one for now. |
|
Again, with the PACKAGE_INTERNAL_DEPS_ID updated all tests passed for test.boost. ✔️ |
|
Btw. I would say to be consistent, you should add the And what about the other |
rbsheth
left a comment
There was a problem hiding this comment.
@daminetreg Thanks for the detailed investigation and fix!
@BenWhetton Yes. 😄
I think the PACKAGE_INTERNAL_DEPS_ID needs to be updated here and the generate.sh script run.
https://github.com/cpp-pm/hunter/blob/master/cmake/projects/Boost/hunter.cmake.in#L21
As @Bjoe said, the iOS build may need to be updated with the --no-cmake-config also. See https://github.com/cpp-pm/hunter/blob/master/cmake/projects/Boost/schemes/url_sha1_boost_ios_library.cmake.in
Will adding the flag --no-cmake-config break older Boost versions that don't support the flag?
|
@rbsheth We should update If we not do this, then every hunter user they already build boost 1.72.0 from hunter version 0.23.245 must nuked |
|
@daminetreg do you think you'll have time to update this soon?
Are there any regression tests which cover this? |
Yes I'll do that this Friday morning. I have a little bit of time.
Well if you want previous version to continue to work without this I need to restore the files responsible of deleting BoostConfig.cmake. I'll do something based on the version of boost if it's greater or equal 1.72 I'll do what I have here and otherwise go back. |
|
@daminetreg Did you have an opportunity to fix this? |
|
@rbsheth looks like @daminetreg is busy. This PR is pretty important. Boost is central to many c++ projects. |
|
I did lag a bit, but it is almost done, this evening pr will be updated with the little bits missing to prevent hunter cache issues. |
…d see previous commit) and unneeded clean-boost-configs as we can avoid that boost generates them.
27532ea to
e7a71de
Compare
…e the appropriate bjam switch as file name changed and will work better.
… to get the benefits of the patch.
e7a71de to
b776b48
Compare
|
|
For a summary:
|
|
Thank you for taking the time to do this. I bow before your CMake expertise! |
…ependent cmake generation and on cmake documented behaviour.
Thank you very much 😄 However the CI saw I did oversee the fact that the generator expression didn't work on all platform the same, and before all I used them in a context where they are not officially allowed by the documentation. So I removed them in favor of a bit more traditional approach. This has the downside to try to clean always the boost config cmakes even when we don't install them, but it's safer as it is not allowed by the cmake documentation (even though this part worked everywhere due to the fact the file is generated by And to that while they came quite handy in this situations they are not thought for the kind of use I did, so better less clever but more solid.
|
rbsheth
left a comment
There was a problem hiding this comment.
Thanks @daminetreg! Will merge when green
|
Thank you very much for the review. Tests are all green and passed. By the way where is @ruslo ? |
|
@daminetreg Great! @ruslo has passed this project onto myself and @bkotzz - he is focusing on other things. |
|
confirmed working here: |
I've followed this guide
step by step carefully. [Yes]
I've tested this package remotely and have excluded all broken builds.
Here is the links to the Travis/AppVeyor with status "All passed 😉":
Dear @ruslo, @dan-42, @rbsheth,
This fixes the issues discovered in #133 : when linking to a Boost library, the Boost::boost INTERFACE lib gets to link to the
/Sourcedirectory that hunters generate during the build.This is due of the BoostConfig-*.cmake files generated by Boost, because they aren't cleaned up anymore by your script :
@HUNTER_SELF@/scripts/clean-boost-configs.cmake. But we don't need it anymore as we can passb2 --no-cmake-config.The cleanup didn't work anymore is due to a change in the names, at least on macOS I could check that, that the boost b2 generated cmake package configs were named lowercase like
boost_headers-1.72.0/boost_headers-config.cmake, and I think at least in some case takes precedence over the cmake module for finding boost.Presumably that's the reason why tests didn't fail when @dan-42 updated the boost version, or there is some cmakecache thing or ci cache thing involved.
Little question should I update the Boost revision to avoid any successful build because of a cache that doesn't notice the changes ?