Hi all What about the following idea: We introduce a macro, something like "BOOST_COMPUTE_COMPILE_WITHOUT_OPENCL". In Boost.Compute we check for this macro, and when it is set we include a new stub headerfile instead of the regular OpenCL headerfile. The stub headerfile should contain all the necessary definitions so that Boost.Compute can be compiled, even when OpenCL is not actually installed. That would be step one and would make it possible to find at least non-compatible changes in the other Boost libraries. Step two would be to enhance the stub file so that the test programs also run without error. I can't say yet if this would even be possible, and how big the effort would be for that. Best regards René Am Di., 27. Aug. 2024 um 12:09 Uhr schrieb Alexander Grund via Boost < boost@lists.boost.org>:
Am 27.08.24 um 04:14 schrieb Дмитрий Архипов via Boost:
If you mean, disable running all or some tests, then there's testing.execute feature. To disable running all tests (e.g. when cross-compiling) you'd do
b2 testing.execute=off Yes that is what I was referring to, thanks! But regardless of that, as far as I can see, using Boost.Compute requires OpenCL to be present.
I see so it IS a hard requirement. Maybe we could have an option (possibly even in B2) to have a "<build>no" alternative that errors when triggered. E.g. `b2 testing.execute=off require-compute=on` (or even `require-all`)
This could then be used to do this build testing by release managers on a machine/VM/image that has all dependencies and avoid silently skipping some build tests if one is missing.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- “Dubito ergo cogito; cogito ergo sum. (I doubt, therefore I think; I think therefore I am)” René Descartes