sdpb icon indicating copy to clipboard operation
sdpb copied to clipboard

Support CMake build system

Open vasdommes opened this issue 1 year ago • 0 comments

  1. Support CMake
  2. At some point, deprecate Waf

Why CMake instead of Waf?

  • According to the 2022 C++ Developer Surveys by ISO C++ and by JetBrains, CMake is by far the most popular build system among C++ developers. Waf is not even mentioned there!

  • In particular, CMake is used in SDPB dependencies such as Elemental, RapidJSON or libarchive. If SDPB will use CMake too, it will be easier to build it (or other projects using SDPB) with a single command.

  • CMake is required for popular test frameworks such as GoogleTest (however, the second most popular Catch2 can be included without CMake). Test frameworks would be useful to organize SDPB tests, ~if~ we need more (everyone needs more tests!).

  • Due to its popularity, CMake has better IDE support: VSCode has official CMake Tools Extension by Microsoft, and CLion uses CMake as its main project model.

vasdommes avatar Jun 03 '23 07:06 vasdommes