# How to add compilation configurations to your project?
# How to add compilation configurations to your project?
Since 3.19 CMake supports [presets](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html). Presets are able
## Brief
to replace your custom shell scripts that build your application on different platforms with different settings.
[Presets](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html) are able to replace your custom shell scripts that build your application on different platforms with different settings. Since 3.19 CMake supports presets.
Presets have a name and specify flags for the configure, build, test, install, etc stage. There are two files
that contain presets. `CMakePresets.json` holds the project-wide presets that are checked into the repository.
## Description
`CMakeUserPresets.json` contains developer specific settings and should not be part of the repository. In fact, you should
Presets are based on two main files.
at it to your `.gitignore` file.
*`CMakePresets.json` holds the project-wide presets that are checked into the repository.
\ No newline at end of file
*`CMakeUserPresets.json` contains developer specific settings and should not be part of the repository.\
(In fact, you should at it to your `.gitignore` file.)
Presets have a name and specify flags for the configure, build, test, install, etc stage.
To invoke a preset configuration during the configure stage use e.g.