# CMAKE_PROJECT_INCLUDE_BEFORE

Added in version 3.15.

A CMake language file to be included as the first step of all `project()` command calls. This is intended for injecting custom code into project builds without modifying their source. See Code Injection for a more detailed discussion of files potentially included during a `project()` call.

Added in version 3.29: This variable can be a semicolon-separated list of CMake language files to be included sequentially. It can also now refer to module names to be found in `CMAKE_MODULE_PATH` or as a builtin CMake module.

See also the `CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE`, `CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE`, `CMAKE_PROJECT_INCLUDE`, and `CMAKE_PROJECT_TOP_LEVEL_INCLUDES` variables.