Previously building with `cmake -G Ninja` would fail with this error:
ninja: error: 'third-party/event-c51b159cff/lib/libevent.a', needed by
'libtransmission/transmission-test-watchdir_generic', missing and no
known rule to make it
This was due to missing BUILD_BYPRODUCTS in the calls to
ExternalProject_Add(), as discussed here:
<https://cmake.org/pipermail/cmake/2015-April/060234.html>
Standard Windows programs (e.g. Explorer) tolerate this, but some other
programs (e.g. Firefox) are more strict in how they retrieve version
information and may fail if language IDs in StringFileInfo and VarFileInfo
don't match.
It was announced on March 5th that CyaSSL changes name to WolfSSL,
and version 3.4.0 has been released under that new name. Tune
FindCyaSSL.cmake a bit to probe for both libraries. Fortunately,
compatibility headers are provided so I didn't have to touch the
code at all for now.
There're too many functions and types to consider, and benefits of not
using LFS macros aren't that big (I was thinking of using fts(3) but
that may not happen soon or at all).
Some crypto libraries (like CyaSSL, MatrixSSL and CommonCrypto) either
don't have or expose this functionality at all, expose only part of it,
or (like OpenSSL) have heavyweight API for it. Also, for the task as
easy as BASE64 encoding and decoding it's much better to use small and
simple specialized library.