/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/

// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************

/*!
    \previouspage creator-build-settings.html
    \page creator-run-settings.html
    \nextpage creator-editor-settings.html

    \title Specifying Run Settings

    The run settings to specify depend on the type of the project and on the
    \l{glossary-buildandrun-kit}{kit} that you build and run the project with.

    \QC automatically creates run configurations for your project.
    To view and modify them, select \uicontrol Projects >
    \uicontrol {Build & Run} > \uicontrol Run.

    \image qtcreator-settings-run.png "Run Settings"

    To prevent \QC from automatically creating run configurations, select
    \uicontrol Tools > \uicontrol Options > \uicontrol {Build & Run},
    and then deselect the \uicontrol {Create suitable run configurations
    automatically} check box.

    \section1 Managing Run Configurations

    The available run configurations are listed in the
    \uicontrol {Run configuration} field.
    To add run configurations for a project, select \uicontrol Add. To
    add a run configuration that is based on the current one, select
    \uicontrol Clone.

    To rename the current run configuration, select \uicontrol Rename.

    To remove the current run configuration, select \uicontrol Remove.

    The run configurations for qmake projects derive their executable from the
    parsed .pro files. For more information on how the commands are constructed,
    see \l{Starting External Processes}.

    \QC automatically adds run configurations for all targets specified in the
    CMake project file, \c {CMakeLists.txt}.

    \QC automatically adds run configurations for all targets declared with
    \c {executable()} function in Meson build descriptions.

    \section1 Selecting Default Run Target

    \QC has multiple executables, but when you run a project you typically want
    to run \c qtcreator and not the first executable in the list. To filter the
    run target list, set \c qtc_runnable as the value of the \c FOLDER property
    in the \c {CMakeLists.txt} file for the project. For example:

    \badcode
    set_target_properties(main_executable PROPERTIES FOLDER "qtc_runnable")
    \endcode

    \section1 Creating Run Configurations for Subprojects

    To prevent \QC from automatically creating run configurations for SUBDIRS
    projects, specify the following variable in the .pro file of the SUBDIRS
    project: \c {CONFIG += qtc_runnable}.

    \QC creates run configurations only for subprojects that also have
    \c {CONFIG += qtc_runnable} set in their .pro files.

    \include creator-projects-settings-run-desktop.qdocinc run settings desktop
    \include creator-projects-settings-run-analyze.qdocinc settings valgrind
    \include creator-projects-settings-run-debug.qdocinc run settings debugger
    \include creator-projects-settings-run-android.qdocinc run settings android
    \include creator-projects-settings-run-linux.qdocinc run settings linux
    \include creator-projects-settings-run-qnx.qdocinc run settings qnx
    \include linux-mobile/creator-projects-settings-run-b2qt.qdocinc run settings boot2qt

    \section1 Selecting the Run Environment

    \QC automatically selects the environment used for running the application
    based on the \l{glossary-device}{device} type. You can edit the environment
    or select another environment in the \uicontrol {Run Environment} section.

    You can edit existing environment variables or add, reset and unset new
    variables.

    \image qtcreator-run-environment.png "Run Environment section"

    When running on the desktop, the \uicontrol {Build Environment} is used by
    default, but you can also use the \uicontrol {System Environment} without the
    additions made to the build environment. For more information, see
    \l {Build Environment} and \l{Specifying Environment Settings}.

    To run in a clean system environment, select \uicontrol {Clean Environment}.

    When running on a mobile device connected to the development host, \QC
    fetches information about the \uicontrol {Device Environment} from the device.
    Usually, it does not make sense to edit the device environment.

    To modify the environment variable values for the run environment, select
    \uicontrol {Batch Edit}. For more information, see \l{Batch Editing}.

    \section1 Specifying a Custom Executable to Run

    If you use CMake, Meson or the generic project type in \QC, or want
    to run a custom desktop executable, create a \uicontrol {Custom Executable}
    run configuration for your project. For example, when working on a library,
    you can run a test application that links against the library.

    Specify the executable to run, command line arguments, working directory,
    and environment variables to use.

    \image qmldesigner-run-custom-exe.png "Run settings for custom executables"

    \include qtquick/creator-projects-settings-run-qtquick.qdocinc run settings qt quick ui
    \include python/creator-python-run.qdocinc run settings python

*/
