trantor icon indicating copy to clipboard operation
trantor copied to clipboard

New cmakelists

Open hks2002 opened this issue 1 year ago • 5 comments

After this change:

  1. CMakeLists is easy to read/modify.
  2. CMakeLists is formated by cmake-format.
  3. Build option's values are more deterministic, if not find the libs, it will build faild.
  4. Options TLS_PROVIDER support 'none', 'openssl', 'botan-3', 'auto'.
  5. Provied some scripts to install all dependencies quickly for different OS.
  6. Windows develope become easy(dependencies provide by: vcpkg/conan/cmake_fetchcontent).
  7. Test for windows is working now.

hks2002 avatar Mar 14 '24 07:03 hks2002

@an-tao please review the code and ignore the source code lint error, just a few space issue.

hks2002 avatar Mar 14 '24 08:03 hks2002

It LGTM

an-tao avatar Mar 14 '24 08:03 an-tao

@marty1885 In Macos, Botan 3.2 works! image But failed build when use Botan 3.3 after run brew update image image

Sometimes, we can't follow the latest library version, and need control/limit it, do you agree?

hks2002 avatar Mar 14 '24 12:03 hks2002

@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.

marty1885 avatar Mar 14 '24 13:03 marty1885

@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.

hks2002 avatar Mar 14 '24 13:03 hks2002

ref #352,

hks2002 avatar Sep 08 '24 10:09 hks2002