Closed PeterBowman closed 1 year ago
Thank you @PeterBowman, I integrated your suggestion in 9cdf77e2b40dba9280dd20b707c4bae6f655f0b3
Unfortunately, it is not possible to notice any improvement in the CI, since also the builds which do not compile tests fail for similar reasons elsewhere (e..g in qt inclusions, see https://github.com/robotology/yarp/actions/runs/6903696174/job/18782969646?pr=3048, build number 8)
For this reason, I am migrating the CI to use clang17, obtained from LLVM instead of the official Ubuntu22.04 packages (which includes clang15). I think using an updated clang version will beneficial for different other reasons too.
done
Is your feature request related to a problem? Please describe. If I'm correct,
YARP_catch2
is a required component and there is no way to disable it AToW. It lives in extern/catch2/ and is directly referenced via CMake from only a bunch of files related to testing.Describe the solution you'd like Don't build YARP_catch2 unless testing is explicitly requested in CMake configuration (via
-DYARP_COMPILE_TESTS=ON
).Additional context As a result of introducing C++20 in https://github.com/robotology/yarp/pull/3039, the combo YARP master (at https://github.com/robotology/yarp/commit/b3ea6329d456447e327643e244274b7f65c984ee) + Ubuntu 22.04 + Clang 14.0.0 + C++20 leads to the following error:
Logs: clang.txt.
The root cause is not YARP itself, but dependency management on GitHub runners; see https://github.com/actions/runner-images/issues/8659. Nevertheless, I think this could be addressed on YARP's side if Catch2 should be skipped unless actually required.