Introduction
|
Build systems describe exactly how to build targets.
Build system generators describe general relationships.
Modern CMake is simpler and reduces the chance of build problems.
|
Building with CMake
|
Build a project.
Use out-of-source builds.
Build options and customization.
Debug a CMakeLists easily.
|
Your first CMakeLists.txt file
|
|
Working with Targets
|
Libraries and executables are targets.
Targets have lots of useful properties.
Targets can be linked to other target.
You can control what parts of a target get inherited when linking.
You can make INTERFACE targets instead of making variables.
|
Variables explained
|
Local variables work in this directory or below.
Cached variables are stored between runs.
You can access environment variables, properties, and more.
You can glob to collect files from disk, but it might not always be a good idea.
|
Project Structure
|
|
Common Problems and Solutions
|
Setting a CMake version too low.
Avoid building inplace.
How to select a compiler.
How to work with spaces in paths.
|
Debugging
|
|
Finding Packages
|
|
ROOT
|
|
Functions in CMake
|
|