Chapter 9. CMake

The next build tool to discuss is CMake [61]. This tool differs from GNU Make, Ant, and SCons because it doesn’t actually execute the build process. Instead, it translates a high-level build description into a lower-level format accepted by other tools. For example, a CMake generator can translate the high-level build description into a makefile, ready for execution by the GNU Make tool.

The goals of this approach are to simplify the construction of build systems and support cross-platform development. As you saw in Chapter 6, “Make,” constructing a GNU Make build system is challenging, especially when dealing with large code bases. It’s also hard to construct a single build system that works across a range of different platforms. ...

Get Software Build Systems: Principles and Experience now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.