48 ms·
As someone with no real experience with make/cmake other than "I've downloaded this thing, these are the instructions for compiling and installing it", what are
by Twirrim 9y ago
As someone with no real experience with make/cmake other than "I've downloaded this thing, these are the instructions for compiling and installing it", what are the advantages of CMake over make?
- joelthelion 9y agoCmake uses make (among other backends) Think of Cmake as a portable, high level layer over make.
- deleted 9y ago[deleted]
- 8239849234 9y agoOver autoconf: Windows support. Otherwise autoconf is superior in every aspect.
- fizixer 9y ago> Otherwise autoconf is superior in every aspect. Now this is a statement I didn't expect. I currently use make for my simple projects and, as commented a few mintues ago, looking for insight into what makes a good build-system (ignoring popularity). I used automake/autoconf briefly but it always tripped me up (though I should admit I never learned it properly). Could you expand on why you think autoconf is superior?
- geezerjay 9y agoI've used autoconf/automake in some pet projects (a combo that's typically referred to as autotools), and I have to say that the biggest drawback of using that build system is its appallingly bad documentation. To me, the official GNU docs are unreadable, and the only useful and mildly palatable documentation available on the web comes in the form of blog posts published by people who managed to learn how to get autotools projects to work and took their time to tell the world how they managed to accomplish that feat of technical prowess. Once that initial part of the learning curve is surpassed, autotools presents itself as a remarkably robust and resilient build system which is highly extensible, which supports virtually all use cases that any user may need to implement. Build systems such as CMake are started as better alternatives to autotools, and they do succeed in that venture by providing better documentation and presenting a smoother learning curve to accomplish basic tasks. Yet, once a project grows out of the scope of basic use cases.... Everything starts to break, while autoconfs soldier on like a champ.
- alacombe 9y agoTry cross-compiling with autoconf without losing your hairs, and we'll discuss about this again ;-)
- Mailtemi 9y agoI have the project which compiles for ios, Windows, and Linux. The best feature is that you do not need to edit source files, but just load projects for the XCode, Visual Studio IDEs, etc. And it works well with c, c++,obj-c, swift, etc.
- fh973 9y agoWe use cmake to output a ninja file and build with ninja. Result: awesome build speed as ninja knows how to parallelize across directories and targets while not overloading the system.