# CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE

New in version 3.17.

A CMake language file to be included as the first step of any `project()` command calls that specify `<PROJECT-NAME>` as the project name. 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.

New 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_INCLUDE`, `CMAKE_PROJECT_INCLUDE_BEFORE`, and `CMAKE_PROJECT_TOP_LEVEL_INCLUDES` variables.