Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We have been using Conan to get the prerequisites in the CI, but that's become problematic: Conan 2.0 dropped the model for integrating with CMake builds that used to be the way in Conan 1.x, but the new models assume a tighter integration with Conan than I think is wise for Cyclone. So Conan has to go at some point.
The only prerequisites for which we used Conan were CUnit and OpenSSL. Azure has OpenSSL pre-installed, so we might as well use that. That leaves only CUnit, which is easy to get on macOS and Ubuntu (via homebrew and apt), but turns out to be hard on Windows without using Conan, and that recipe got broken recently. We have simply been lucky because of some caching on Azure ...
Building CUnit from the Azure build scripting is feasible and takes only a few seconds, but the problem with that is finding a good set of sources. The old CUnit sources depend on GNU autoconf/automake, which Cyclone should not start depending on, and a more recently updated fork that uses CMake only supports static builds. And as it happens, a statically linked CUnit breaks the security tests in Windows because some of the assertions are in a DLL ...
While we could probably rewrite the problematic tests, it turns out we use such a tiny bit of CUnit that it takes a mere 600 lines of C code+headers to replace it altogether. That way, we don't have to rewrite the tests and we drop the dependency.
Incidentally fixes #1678.