// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

// **********************************************************************
// 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.
// **********************************************************************

/*!
    \page creator-run-settings.html
    \previouspage creator-how-tos.html

    \ingroup creator-how-to-projects
    \ingroup creator-how-to-run

    \title Configure projects for running

    Specify settings for running applications on the \l {Kits}{Run device} that
    you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
    \uicontrol Run > \uicontrol {Run Settings}.

    \image qtcreator-settings-run-desktop.webp {Run Settings}

    The available build settings depend on the build system that you selected
    for the project and the device type:

    \list
        \li \l {Android Run Settings}{Android}
        \li \l {\B2Q Run Settings}{\B2Q}
        \li \l {Desktop Device Run Settings}{Desktop}
        \li \l {Python Run Settings}{Python}
        \li \l {QNX Run Settings}{QNX}
        \li \l {Remote Linux Run Settings}{Remote Linux}
    \endlist

    \section1 Manage 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.

    \section2 qmake run configurations

    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{Start external processes}.

    \section1 Select the default run target

    If a project has multiple executables, you need to tell \QC which one it
    should run.

    \section2 CMake run targets

    When using CMake, you can filter the run target list by setting
    \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

    If you do not specify \c qtc_runnable for any project, \QC automatically
    adds run configurations for all targets specified in \c {CMakeLists.txt}.

    \section2 qmake run targets

    When using qmake, you can prevent \QC from automatically creating run
    configurations for subprojects by specifying the \c qtc_runnable
    variable in the .pro files of the application projects (\c TEMPLATE=app)
    that you want to run. For example

    \badcode
    CONFIG += qtc_runnable
    \endcode

    If none of your application projects specifies \c qtc_runnable, \QC creates
    run configurations for all application projects.

    If any of your application projects specifies \c qtc_runnable,
    \QC creates run configurations only for subprojects that also have
    \c {CONFIG += qtc_runnable} set in their .pro files.

    For more information about qmake project templates, see \l {TEMPLATE}.

    \section2 Meson run targets

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

    \sa {Enable debugging}, {Configuring Projects},
    {Specify a custom executable to run},
    {Specify Valgrind settings for a project},
    {Run Configurations}{Reference: Run Configurations}
*/

/*!
    \page creator-how-to-run-custom-executables.html
    \previouspage creator-how-tos.html

    \ingroup creator-how-to-run

    \title Specify a custom executable to run

    If you use \l{Meson} or the \l{Import an existing project}
    {generic project type}, 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.

    To specify a custom executable to run:

        \list 1
        \li Select \uicontrol Add > \uicontrol {Custom Executable}.
            \image qtcreator-run-settings-custom-executable.webp {Run settings for custom executables}
        \li In \uicontrol Executable, specify the path to the executable.
        \li In \uicontrol {Command line arguments}, enter the path to the
            file to run.
    \endlist

    \sa {Configure projects for running}, {Import an existing project}
*/
