sdpb
sdpb copied to clipboard
Support CMake build system
- Support CMake
- 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.