Add support for modular build structure.#183
Conversation
…a source in install targets.
…ed for all subprojects on load.
|
Please review and merge this PR at your earliest convenience. |
Flamefire
left a comment
There was a problem hiding this comment.
It seems that now the warning settings get propagated to dependencies which cause failures when build libraries that have a looser warning setting than this one.
I.e. I want this library to emit no warnings testing it via -Werror but ignore any warnings from dependencies, especially those in the sources of the dependencies, e.g. now in libs\filesystem\src\operations.cpp, see boostorg/filesystem#321
Can this be done?
The GHA failures should be fixed in develop, no need to worry about those.
|
|
||
| feature.feature boost.nowide.lfs : auto no : optional propagated ; | ||
|
|
||
| constant boost_dependencies : |
There was a problem hiding this comment.
Any reason for the variable instead of inlining in build/Jamfile?
There was a problem hiding this comment.
The only reason is to advertise the dependencies to others consistently for both buildable and header only libs.
There was a problem hiding this comment.
So that's intended for ("others"=)humans, isn't it? Because otherwise I don't see how this is consistent with e.g. https://github.com/boostorg/variant2/blob/a4b167b7238781d75df5d6684c9e9d40b26456dc/build.jam#L17 given that are different files
My hesitation is because now when reading/editing the build/Jamfile I need to switch to this to see the definition of a variable used there. For head-only libs it is defined and used in the same file (as the build-Jamfile doesn't exist)
To be clear: I'm not saying this is bad, I just want to understand the motivation why.
There was a problem hiding this comment.
Yes, it's mainly for people reading the file. I understand the concern though. The attempt is to make this uniform for all libraries (it was easier to generate all of this info this way also).
|
@grafikrobot Anything new about not "up-propagating" warning settings? See https://github.com/boostorg/nowide/actions/runs/10547775762/job/29220866970?pr=183 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #183 +/- ##
========================================
Coverage 99.45% 99.45%
========================================
Files 34 34
Lines 3319 3319
========================================
Hits 3301 3301
Misses 18 18 |
|
@grafikrobot See https://github.com/boostorg/nowide/pull/183/files#r1730327788 Why is |
Co-authored-by: Alexander Grund <Flamefire@users.noreply.github.com>
This is part of the effort to make the Boost libraries "modular" for build and consumption. See https://lists.boost.org/Archives/boost/2024/01/255704.php and https://github.com/grafikrobot/boost-b2-modular/blob/b2-modular/README.adoc for more information.
This PR depends on the following other PRs being merged to both develop and master branches of the respective repos:
This PR will be changed to ready for review, i.e. not draft, when the above are merged. Do not merge this one until that time.