# Manage included files

An included file is not required to be listed in `CMakeList.txt`, `compile_commands.json`, `Makefile`, or `build.gradle` in order to be recognized as a project file and therefore provided with code insight.

The only limitation here is for the files you include to be located under the project root (visible in the [Project Tool Window](project-tool-window.html)).

CLion treats your included files similarly regardless of the project format ([CMake](quick-cmake-tutorial.html), [compilation database](compilation-database.html), [Makefile](makefiles-support.html), or [Gradle](gradle-support.html)). See [Managing included files](managing-cmake-project-files.html#included_files) for a CMake example, or find a compilation database example below.

Procedure: Compilation database example

* Suppose we have a simple compilation database project with four source files listed in `compile_command.json` and another source file called `calendar_defs.cpp` which is not.

As `calendar_defs.cpp` is located under the project root, we can include it from one of the sources, and CLion will treat it as a project file even without the corresponding command entry in the compilation database:

![cl_cppincludes_updated.png](https://resources.jetbrains.com/help/img/idea/2026.2/cl_cppincludes_updated.animated.gif)

## See also

### How tos

[Manage CMake project files](managing-cmake-project-files.html) [Compilation database](compilation-database.html)

