CLion Help

Creating and Editing Run/Debug Configurations

On this page:


The available run/debug configurations are displayed in the drop-down list in the Run area of the main toolbar:


CLion provides the Run/Debug Configuration dialog box as a tool for handling run/debug configurations: create configuration profiles or change the default ones.

CLion suggests the following ways to create a run/debug configuration:

  • The primary way to create the run/debug configuration is to let IDE do it automatically using CMakeLists.txt file data on project targets and executables. This method works for the most cases. Refer for details to Working with CMake page.

    If you want to create configuration of your own or do it with target or executable, other than specified in CMakeLists.txt file, you can try the second method:

  • Create a run configuration manually on the base of the default one, using the Run/Debug Configuration dialog box.

Creating a run/debug configuration

To create a run/debug configuration, follow these steps:

  1. In the Run/Debug Configuration dialog box, click add.png on the toolbar or press Alt+Insert. The drop-down list shows the default run/debug configurations. Select the desired configuration type.

    The fields that appear in the right pane, display the default settings for the selected configuration type.

    Note: If you want to change the default run/debug configuration settings, expand the Defaults node, select the desired configuration type, and modify it as required.

  2. For the new run/debug configuration:
    • Specify its name in the Name text box. This name will be shown in the list of the available run/debug configurations.
    • Specify whether you want to make CLion check execution status of the instances of the same run/debug configuration. If you want to make sure that only one instance of the run/debug configuration is currently executed, select the check box Single instance only. In this case, a confirmation dialog box will show up every time you try to launch run/debug configuration, when one instance of the same type is still running.

      If you click OK in the confirmation dialog box, the first instance of the runner will be stopped, and the next one will take its place.

      If this check box is not selected, you can launch as many instances of the runner as required. As the result, each runner will start in its own tab of the Run tool window.

    • In Target field, select the desired target from the list of available targets.
    • In Configuration field, select the desired configuration type from the list of available types. You can use configuration types other than provisioned by IDE. Refer to Changing Configuration Page page for details.
    • In Executable field, select the proper executable for your configuration. IDE allows you to choose among the following types of executables:

      • Executable target of your project. Select this option to let IDE launch the produced binary executable.
      • Arbitrary executable. That could be any of your choice, even perhaps not linked to your project in any way. Can be useful in plugins and libraries development.
      • Not selected. This executable type is used for custom targets that do not produce any resulting artifacts (binary executables, libraries, etc). The run/debug configurations of this type can not be launched, but built only.

  3. In the Before launch section, define whether you want to launch any external tool or other build configuration before run. To skip the build stage, remove Build from Before launch list.
  4. Specify additional parameters depending on the configuration type. Refer to the descriptions of run/debug configuration parameters below the Run/Debug Configurations section.
  5. Apply the changes and close the dialog box.

Build All run/debug configuration

Choose Build All configuration if you want to build a project including all the targets. If this option is selected, the dialog uses default All targets value for Target field:


Note: You can exclude a particular target from All targets list, when necessary: in CMakeLists.txt file, set EXCLUDE_FROM_ALL property on respective target. For example:

add_executable(SecondaryTarget ${SOURCE_FILES} EXCLUDE_FROM_ALL) # Property EXCLUDE_FROM_ALL # set on target SecondaryTarget.

Refer to the CMake official documentation for more details.

See Also

Last modified: 25 May 2015