I hate MSVC
I hate MSVC
I hate MSVC
Tried multiple attempts to make myself understand CMake with no success. With GNU Make it just explains itself.
These two are not interchangeable or really even comparable though? Make is a program that generates non-source files from source files, cmake is a high-level tool to generate makefiles.
If you're writing anything more than a completely trivial makefile I would heavily recommend learning cmake. It makes your build system much, much more robust, far easier to maintain, much more likely to work on other systems than your own, and far easier to integrate with other dependent projects.
My primary experience with plain make was when I re-wrote a 2000+ line make-system in a project I maintain with about 200 lines of cmake, because we were setting up some CI that required us to clone and build some dependencies, which was an absolutely PITA to handle cross-platform with plain make, but was trivial with cmake.
PS. The cmake docs suck for anyone that hasn't used cmake for 10 years already.
Classic microsoft, making the worst possible version of something, and somehow finding a way to force everyone to use it.
Even MS hates nmake. Visual Studio has had native support for cmake since 2017.
Spending time in programmer humour communities, you quickly realize that most memes are based things that are ~ten years old or more.
I'll update my mems when Microsoft decides to implement C99. (Hey, it's only been a quarter of a century ...)
Whats nmake?
The c build system that comes with visual studio. You pretty much have no choice but to use it if you're writting c on windows.
Dub: