Search notes:

CMake

CMake is a cross-platform, open source Makefile generator that is supposed to help managing build processes.

Invoking

Unlike make, cmake usually is not invoked in the same directory as the project (= out of source build).
$ cmake path/to/project
creates a Makefile in the current directory.
The instructions for the Makefile are found in path/to/project/CMakeLists.txt.

CMakeLists.txt

A CMakeLists.txt can reference CMakeLists.txt in other sub-directories.

Forcing to print the building statements

The Makefile generated by CMake can be forced to print the building commands with make VERBOSE=1.

Bloated

suckless.org writes
cmake (written in C++) - so huge and bloated, compilation takes longer than compiling GCC (!). It’s not even possible to create freestanding Makefiles, since the generated Makefiles call back into the cmake binary itself.

See also

build systems

Links

https://github.com/ttroy50/cmake-examples

Index