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.

Index