What this book covers
Chapter 1, First Steps with CMake, covers how to install and use CMake's command line, along with what files make up the project.
Chapter 2, The CMake Language, provides key code information: comments, command invocations and arguments, variables, lists, and control structures.
Chapter 3, Setting Up Your First CMake Project, introduces the basic configuration of a project, the required CMake version, project metadata, and file structure, as well as the toolchain setup.
Chapter 4, Working with Targets, introduces the logical build targets that produce artifacts for executables and libraries.
Chapter 5, Compiling C++ Sources with CMake, explains how the details of compilation process works and how it can be controlled in a CMake project.
Chapter 6, Linking with CMake, provides general information on linking, static, and shared libraries. This chapter also explains how to structure a project so that it can be tested.
Chapter 7, Managing Dependencies with CMake, explains the dependency management methods available in modern CMake.
Chapter 8, Testing Frameworks, describes how to add the most popular testing frameworks to your project, as well as how to use the CTest utility available in the CMake toolset.
Chapter 9, Program Analysis Tools, covers how to perform automatic formatting, as well as static and dynamic analyses, in your project.
Chapter 10, Generating Documentation, explains how to use Doxygen to generate manuals for users straight from the C++ source code.
Chapter 11, Installing and Packaging, shows how to prepare your project to be used in other projects or installed on the system. We'll also see an explanation of the CPack utility.
Chapter 12, Creating Your Professional Project, sets out how to put together all the knowledge you have acquired hitherto in to a fully formed project.
Appendix: Miscellaneous Commands, provides a quick reference of the most popular commands: string()
, list()
, file()
, and math()
.