CLion 2019.2 Help

Project Formats

CLion incorporates a set of smart features, many of which depend on project-level information, such as included files, compiler flags and linker options. These details let CLion perform parsing/resolving correctly and therefore highlight, auto-complete, inspect, and navigate through your code in an error-free and convenient way.

CLion does not provide its own project model for your code but supports the following formats:

In addition, you can set up custom build targets that call external tools to perform build and clean and create custom run/debug configurations for such targets. Since custom targets are independent of any particular build system, they can, for example, provide the functionality of building and running for your compilation database projects.

To work with Makefile projects in CLion, use the combination of a compilation database and a file watcher that monitors changes in the Makefiles. You can extend such projects with custom build targets and custom run/debug configurations.

Table below shows how project-level, remote, and dynamic analysis features are supported for each project format (compilation database is referred to as CompDB for brevity). This table doesn't include remote GDB / gdbserver, since it's implementation in CLion works completely independent from any project model.

For Google Sanitizers, some project formats are marked with a yellow check visualized output unavailable. It means that even though you can configure sanitizers and get the results in CLion, the output will be logged to console in plain text. The visualization of sanitizers output is available for CMake projects only. Also note that some of the features marked as supported feature is supported may not work out-of-the-box, and you will need to perform additional configuration steps before starting to use them.

Open
project

New project
wizard

Build

Run
Debug

WSL

Full remote
mode

Valgrind

Sanitizers

Profiler

CMake
feature is supported
feature is supported
feature is supported
feature is supported
feature is supported
feature is supported
feature is supported
feature is supported
feature is supported
CompDB
feature is supported
feature is not supported
feature is not supported
feature is not supported
feature is supported
feature is not supported
feature is not supported
feature is not supported
feature is not supported

CompDB
with custom targets
and custom run/debug configurations

feature is supported
feature is not supported
feature is supported
feature is supported
feature is supported
feature is not supported
feature is supported
visualized output unavailable
feature is supported
Gradle
feature is supported
feature is not supported
feature is supported
feature is supported
feature is not supported
feature is not supported
feature is supported
feature is not supported
feature is supported

Makefiles
via compDB
and file watcher

feature is supported
feature is not supported

feature is supported*

feature is supported**

feature is supported
feature is not supported

feature is supported**

visualized output unavailable**

feature is supported**

  • * - Available for custom build targets

  • ** - Available for custom run/debug configurations

Last modified: 22 August 2019

See Also