-
Notifications
You must be signed in to change notification settings - Fork 235
Add cxx14_constexpr requirement #1276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #1276 +/- ##
========================================
Coverage 95.07% 95.07%
========================================
Files 792 792
Lines 66882 66882
========================================
Hits 63589 63589
Misses 3293 3293 Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
While completely harmless, I'm not at all convinced that this fixes the original issue (or that there is an easy fix), the point being that only a vanishingly small number of dependents will be using the Math binaries as opposed to the headers, and if you're just using the headers, then there would appear to be no appropriate target to annotate with our requirements. Unless I'm missing something - @Lastique. |
That's true. Theoretically I could port: #1277 to config and then we could |
Given the Boost.Build modularization efforts, header-only libraries now also have targets in b2. Those targets can also have the C++ requirements, as well as dependencies, attached. Those requirements and dependencies propagate to downstream users. Specifically, if Boost.Math ever becomes header-only, it will still have a b2 target with all C++ requirements attached. Downstream users will still "link" with that target and thus inherit the C++ requirements. Now, to this PR. I'm not sure |
#1277 Should cover the type traits issue. For that one I had to ask Rene how to globally apply a library specific configuration since |
In 99.999% of cases it is header only, if users are linking to the compiled library just to express a dependency then that's flat out wrong. |
Well, the dependency is necessary at least to get include paths to Boost.Math headers, as the monolithic include directory may no longer exist. If you want to make linking with Boost.Math binary optional, you need to introduce a new target that corresponds to the header-only Boost.Math. The existing target should still link, since otherwise you would break that 0.001% of users. |
BTW, the same is true with CMake, only it was the case from the start. In CMake, you also have targets to express dependencies, whether those targets are built or not. |
Partial for: #1275