rigtorp/awesome-modern-cpp

Best practices section lists Catch for unit testing and CMake for building (only?)

germandiagogomez opened this issue · 1 comments

Hello everyone,

I am a long time C++ user. First, congratulations for the huge collection of high quality links you posted here.

I would like to give some feedback, please, let me know what you think. I see the section for best practices a bit slanted for 2 reasons:

  1. it lists Catch as the unit test framework of choice. Many other high quality frameworks exist: doctest, boost.test and google test come to mind. Is there any reason to list this above the other alternatives? Boost.test has integration with Boost.Turtle mock framework and google mock includes google test. They seem to be more complete solutions to me.
  2. CMake. I have been using it for a long time and I think right now it is almost a de facto standard, but I would like to mention the build system I switched to, after having tried both and many others: meson build system. This build system is something I think that could be at least listed, it is working remarkably well for me, including windows, mac, linux and cross compilation, though the project generator for XCode is still a bit immature and does not have as much adoption, but it is highly usable. I have literally tried: waf, scons, autotools, cmake, tup and many others, you can see one of my replies in stackoverflow here, since I spent lots of times using all systems in real projects. Do not take this link as an advertisement, I just want to show you that I researched and what I found out: https://stackoverflow.com/questions/5837764/autotools-vs-cmake/24953691#24953691

I honestly think that Meson deserves a preferent place together with cmake among all the build systems.

P.S.: I am not in any way affiliated to Meson project, but I just think that it should be listed as high quality, and usable software at this point.

@germandiagogomez Sorry for my late response. I recently removed that section. It was hard to come up with something good and concise. The main idea is to present thought out decisions for the C++ development process that would be good for most projects. I maintain my personal view here: https://rigtorp.se/cpp-best-practices/.