Manage CMake project files
Add new files
In the Project tree, right-click the folder you want to add a file into and select New from the context menu. Choose the desired file type:
Specify the name, type, and additional options for the new file.
For C++ Class, C/C++ Source, and C/C++ Header file templates, CLion will prompt you to add the new file to one or several existing CMake targets:
tip
If you clear the Add to targets checkbox, you can always add a new file to a target manually (for example, when creating another target for that file). See Quick CMake Tutorial: Adding targets for more details.
If you have selected the target on the previous step, the new entry will be automatically added to CMakeLists.txt:
Manage included files
When you include a header or source file located under the project root into any project file, CLion treats it as a project file as well. There is no need to list such includes manually in CMakeLists.txt.
Gifnote
This does not apply to standard or third-party libraries located outside of the project root.
Add existing files
To add a file which is not included in any of the project files or CMake targets, you need to specify it as a project file manually. Use one of the following ways depending on the file location:
If the file is located under the project root, add it to a target using
add_executable()
oradd_library()
command. For example:When the directory that contains non-project sources is located under the project root, you can also mark it as library: right-click in the Project view and select Mark Directory As | Library Files from the context menu.
To use library files located outside the project root, you need to specify header search paths so that CLion can index the directories and provide completion and navigation for the
#include
statements:include_directories(${MY_EXTERNAL_SOURCE__DIR})
Where
MY_EXTERNAL_SOURCE__DIR
is the required external path.note
On Windows, make sure to replace back slashes in the path with forward slashes
/
, for example:include_directories(C:/Users/jetbrains/CLionProjects/clang/include)
Refer to Quick CMake Tutorial: Adding include directories for more information.
Upon any of these actions, CLion will prompt you to reload the project (when automatic reload is disabled).