CMAKE_PROJECT_TOP_LEVEL_INCLUDESΒΆ

New in version 3.24.

Semicolon-separated list of CMake language files to include as part of the very first project() call. The files will be included immediately after the toolchain file has been read (if one is specified) and platform variables have been set, but before any languages have been enabled. Therefore, language-specific variables, including things like CMAKE_<LANG>_COMPILER, might not be set. See Code Injection for a more detailed discussion of files potentially included during a project() call.

New in version 3.29: This variable can also now refer to module names to be found in CMAKE_MODULE_PATH or builtin to CMake.

This variable is intended for specifying files that perform one-time setup for the build. It provides an injection point for things like configuring package managers, adding logic the user shares between projects (e.g. defining their own custom build types), and so on. It is primarily for users to add things specific to their environment, but not for specifying the toolchain details (use CMAKE_TOOLCHAIN_FILE for that).

By default, this variable is empty. It is intended to be set by the user.

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