CPFCMake¶
The CPFCMake package-component implements a rich-featured and standardized C++ CMake project that offers many tasks that are required for a continuous integration pipeline. This package-component is the most basic component of the CMakeProjectFramework.
The package-component tries to solve the following problems:
Abstract common CMake code to a higher level. CMakeProjectFramework projects are set up by using only a handfull of CMake functions that take a lot of arguments but hide implementation details. This makes the code in the
CMakeLists.txt
files shorter, cleaner and more descriptive.Providing a cannonical directory structure for a C++ project.
Providing additional CI tasks like code-analysis or documentation-generation as custom targets.
Package-versioning based on version tags provided by the Git repository.
Modularisation of the code base into individual CMake packages.
Use of cmake configuration files, which contain build configurations that outlive the deletion of the build directory and the
CMakeCache.txt
file.