trantor
trantor copied to clipboard
New cmakelists
After this change:
- CMakeLists is easy to read/modify.
- CMakeLists is formated by cmake-format.
- Build option's values are more deterministic, if not find the libs, it will build faild.
- Options TLS_PROVIDER support 'none', 'openssl', 'botan-3', 'auto'.
- Provied some scripts to install all dependencies quickly for different OS.
- Windows develope become easy(dependencies provide by: vcpkg/conan/cmake_fetchcontent).
- Test for windows is working now.
@an-tao please review the code and ignore the source code lint error, just a few space issue.
It LGTM
@marty1885
In Macos, Botan 3.2 works!
But failed build when use Botan 3.3 after run brew update
Sometimes, we can't follow the latest library version, and need control/limit it, do you agree?
@hks2002 I'll look into it. It seems to be caused by missing ranges support in Mac's clang.
I introduced Botan as a backup option in case OpenSSL screwed up again and gave up another Heartbleed. And as a platform to stop me from over-designing the TLS backend towards OpenSSL. We don't need to chase the latest version on Botan.
@hks2002 I'll look into it. It seems to be caused by missing ranges support in Mac's clang.
I introduced Botan as a backup option in case OpenSSL screwed up again and gave up another Heartbleed. And as a platform to stop me from over-designing the TLS backend towards OpenSSL. We don't need to chase the latest version on Botan.
It is noteworthy that botan have different libarary name in cmake target_link_libraries, conan using 'botan::botan' while vcpkg using 'Botan::Botan'.
So, I write both vcpkg build and conan build in Build windows-msvc workflow actions. Normally, just one is enough, conan is better, conan build all dependencies takes about 15 min, vcpkg build all dependencies takes about 30 min.
ref #352,