aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/projects/creator-only
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/projects/creator-only')
-rw-r--r--doc/src/projects/creator-only/creator-projects-building.qdoc13
-rw-r--r--doc/src/projects/creator-only/creator-projects-compilers.qdoc45
-rw-r--r--doc/src/projects/creator-only/creator-projects-creating.qdoc6
-rw-r--r--doc/src/projects/creator-only/creator-projects-custom-wizards-json.qdoc42
-rw-r--r--doc/src/projects/creator-only/creator-projects-opening.qdoc4
-rw-r--r--doc/src/projects/creator-only/creator-projects-targets.qdoc41
6 files changed, 108 insertions, 43 deletions
diff --git a/doc/src/projects/creator-only/creator-projects-building.qdoc b/doc/src/projects/creator-only/creator-projects-building.qdoc
index c5a9ae001ed..740096f0cf0 100644
--- a/doc/src/projects/creator-only/creator-projects-building.qdoc
+++ b/doc/src/projects/creator-only/creator-projects-building.qdoc
@@ -79,8 +79,9 @@
subproject.
To remove all build artifacts, select \uicontrol Build > \uicontrol {Clean All} or
- \uicontrol {Clean Project}. To clean the build directory and then build the
- project, select \uicontrol Build > \uicontrol {Rebuild All} or \uicontrol {Rebuild Project}.
+ \uicontrol {Clean Project}. To clean the build directory, run qmake, and
+ then build the project, select \uicontrol Build > \uicontrol {Rebuild All}
+ or \uicontrol {Rebuild Project}.
To build and clean projects without dependencies, select the
\uicontrol {Build Without Dependencies},
@@ -88,6 +89,10 @@
\uicontrol {Clean Without Dependencies} options in the context menu in the
\uicontrol Projects view.
- To run qmake to generate new Makefiles, select \uicontrol Build > \uicontrol qmake.
-
+ To run qmake to generate new Makefiles, select \uicontrol Build >
+ \uicontrol qmake. To prevent failures on incremental builds, it might make
+ sense to always run qmake before building, even though it means that
+ building will take more time. To enable this option, select \uicontrol Tools
+ > \uicontrol Options > \uicontrol {Build & Run} > \uicontrol qmake >
+ \uicontrol {Run qmake on every build}.
*/
diff --git a/doc/src/projects/creator-only/creator-projects-compilers.qdoc b/doc/src/projects/creator-only/creator-projects-compilers.qdoc
index 5387e4c6803..b91d5b7d9e4 100644
--- a/doc/src/projects/creator-only/creator-projects-compilers.qdoc
+++ b/doc/src/projects/creator-only/creator-projects-compilers.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2018 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -44,7 +44,12 @@
for and running it on a particular platform.
\QC automatically detects the compilers that are registered by your system
- or by an installer. You can add compilers to build applications by using other
+ or by an installer and lists them in \uicontrol Tools > \uicontrol Options >
+ \uicontrol Kits > \uicontrol Compilers:
+
+ \image qtcreator-toolchains.png
+
+ You can add the following compilers to build applications by using other
compilers or by using additional versions of the automatically detected
compilers:
@@ -74,6 +79,40 @@
\endlist
+ In addition, the \QC Bare Metal Device plugin provides support for the
+ following compilers:
+
+ \list
+
+ \li \l{https://www.iar.com/iar-embedded-workbench/}{IAREW} is a group of
+ C and C++ bare-metal compilers from the various IAR Embedded Workbench
+ development environments.
+ \note Currently supported architectures are \c 8051, \c AVR, and \c ARM.
+
+ \li \l{https://www.keil.com}{KEIL} is a group of C and C++ bare-metal
+ compilers from the various KEIL development environments.
+ \note Currently supported architectures are \c 8051 and \c ARM.
+
+ \li \l{https://sdcc.sourceforge.net}{SDCC} is a retargetable, optimizing
+ C bare-metal compiler for various architectures.
+ \note Currently supported architecture is \c 8051.
+
+ \endlist
+
+ \section1 Redetecting Compilers
+
+ When \QC finds an x86_64 GCC compiler, it sets up an instance for the native
+ x86_64 target. If you plan to create also 32-bit x86 binaries without using
+ a dedicated cross-compiler, select \uicontrol {Auto-detection Settings} >
+ \uicontrol {Detect x86_64 GCC compilers as x86_64 and x86}. Then select
+ \uicontrol Re-detect to refresh the list of automatically detected
+ compilers.
+
+ To remove manually added compilers, select \uicontrol Remove or
+ \uicontrol {Remove All}.
+
+ \section1 Specifying Compiler Settings
+
To build an application using GCC, MinGW, Clang, or QCC, specify the path
to the directory where the compiler is located and select
the application binary interface (ABI) version from the list of available
@@ -98,8 +137,6 @@
then select a compiler in the list, and then select \uicontrol C or
\uicontrol C++ to add a C or C++ compiler.
- \image qtcreator-toolchains.png
-
To clone the selected compiler, select \uicontrol Clone.
\li In the \uicontrol Name field, enter a name for the compiler to
diff --git a/doc/src/projects/creator-only/creator-projects-creating.qdoc b/doc/src/projects/creator-only/creator-projects-creating.qdoc
index 43b2e39f700..37b3224cd6e 100644
--- a/doc/src/projects/creator-only/creator-projects-creating.qdoc
+++ b/doc/src/projects/creator-only/creator-projects-creating.qdoc
@@ -472,8 +472,10 @@
and the subproject that you add as a value of the \l{Variables#subdirs}
{SUBDIRS variable}. It also adds all the necessary files for the subproject.
- To add more subprojects, right-click the project name in the \uicontrol Projects
- pane, and select \uicontrol {New Subproject} in the context menu.
+ To create more subprojects, right-click the project name in the
+ \uicontrol Projects pane, and select \uicontrol {New Subproject} in the
+ context menu. To add an existing project as a subproject, select
+ \uicontrol {Add Existing Projects}.
To remove subprojects, right-click the project name in the \uicontrol Projects
pane, and select \uicontrol {Remove Subproject} in the context menu.
diff --git a/doc/src/projects/creator-only/creator-projects-custom-wizards-json.qdoc b/doc/src/projects/creator-only/creator-projects-custom-wizards-json.qdoc
index c6dc6a24b4c..80fcdaa832b 100644
--- a/doc/src/projects/creator-only/creator-projects-custom-wizards-json.qdoc
+++ b/doc/src/projects/creator-only/creator-projects-custom-wizards-json.qdoc
@@ -98,15 +98,22 @@
\section1 Using Variables in Wizards
- You can use variables (\c {%\{<variableName>\}}) in the configuration and
- template source files. A set of variables is predefined by the wizards and
- their pages. You can introduce new variables as shortcuts to be used later.
- Define the variable key names and values in the \c options section in the
+ You can use variables (\c {%\{<variableName>\}}) in strings in the JSON configuration
+ file and in template source files.
+ A set of variables is predefined by the wizards and their pages.
+ You can introduce new variables as shortcuts to be used later by
+ defining the variable key names and values in the \c options section in the
\c {wizard.json} file.
- The variables always return strings. In places where a boolean value is
- expected and a string is given, an empty string as well as the string
- \c {"false"} is treated as \c false and anything else as \c true.
+ There is a special variable \c {%\{JS:<JavaScript expression>\}} which evaluates the given
+ JavaScript expression and converts the resulting JavaScript value to a string.
+ In the JavaScript expression you can refer to variables defined by the wizard with
+ \c {value('<variableName>')}. The returned JavaScript object has the type that the value
+ of the variable has, which can be a string, list, dictionary or boolean.
+
+ In places where a boolean value is expected and a string is given,
+ an empty string as well as the string \c {"false"} is treated as
+ \c false and anything else as \c true.
\section1 Localizing Wizards
@@ -221,7 +228,7 @@
"trDisplayName": "C++ Class",
"trDisplayCategory": "C++",
"icon": "../../global/genericfilewizard.png",
- "enabled": "%{JS: [ %{Plugins} ].indexOf('CppEditor') >= 0}",
+ "enabled": "%{JS: value('Plugins').indexOf('CppEditor') >= 0}",
\endcode
\list
@@ -295,11 +302,11 @@
{ "key": "TargetPath", "value": "%{Path}" },
{ "key": "HdrPath", "value": "%{Path}/%{HdrFileName}" },
{ "key": "SrcPath", "value": "%{Path}/%{SrcFileName}" },
- { "key": "CN", "value": "%{JS: Cpp.className('%{Class}')}" },
- { "key": "Base", "value": "%{JS: ( '%{BaseCB}' === '' ) ? '%{BaseEdit}' : '%{BaseCB}'}" },
- { "key": "isQObject", "value": "%{JS: ('%{Base}' === 'QObject' || '%{Base}' === 'QWidget' || '%{Base}' === 'QMainWindow' || '%{Base}' === 'QDeclarativeItem' || '%{Base}' === 'QQuickItem' ) ? 'yes' : ''}" },
- { "key": "GUARD", "value": "%{JS: Cpp.classToHeaderGuard('%{Class}', '%{JS: Util.preferredSuffix('text/x-c++hdr')}')}" },
- { "key": "SharedDataInit", "value": "%{JS: ('%{IncludeQSharedData}') ? 'data(new %{CN}Data)' : '' }" }
+ { "key": "CN", "value": "%{JS: Cpp.className(value('Class'))}" },
+ { "key": "Base", "value": "%{JS: value('BaseCB') === '' ? value('BaseEdit') : value('BaseCB')}" },
+ { "key": "isQObject", "value": "%{JS: (value('Base') === 'QObject' || value('Base') === 'QWidget' || value('Base') === 'QMainWindow' || value('Base') === 'QDeclarativeItem' || value('Base') === 'QQuickItem' ) ? 'true' : 'false'}" },
+ { "key": "GUARD", "value": "%{JS: Cpp.classToHeaderGuard(value('Class'), Util.suffix(value('HdrFileName'))}" },
+ { "key": "SharedDataInit", "value": "%{JS: value('IncludeQSharedData') ? 'data(new %{CN}Data)' : '' }" }
],
\endcode
@@ -712,7 +719,7 @@
{
"checkedValue": "QObject",
"uncheckedValue": "",
- "checked": "%{JS: ('%{BaseCB}' === 'QObject' ) ? 'yes' : ''}"
+ "checked": "%{JS: value('BaseCB') === 'QObject' ? 'true' : 'false'}"
}
},
\endcode
@@ -788,7 +795,7 @@
"name": "LabelQQC_2_0",
"type": "Label",
"span": true,
- "visible": "%{( '%{CS}' === 'QQC_2_0' )}",
+ "visible": "%{JS: value('CS') === 'QQC_2_0'}",
"data":
{
"wordWrap": true,
@@ -819,7 +826,7 @@
{
"name": "BaseEdit",
"type": "LineEdit",
- "enabled": "%{JS: ( '%{BaseCB}' === '' ) ? 'yes' : ''}",
+ "enabled": "%{JS: value('BaseCB') === '' ? 'true' : 'false'}",
"mandatory": false,
"data":
{
@@ -981,9 +988,6 @@
as the top level directory. This setting defaults to an empty list
and no subdirectories will be scanned.
- \li \c firstProjectOnly is a boolean value, which will determine whether
- all project files that were found will be opened as a project or
- only the first one. This setting defaults to \c true.
\endlist
*/
diff --git a/doc/src/projects/creator-only/creator-projects-opening.qdoc b/doc/src/projects/creator-only/creator-projects-opening.qdoc
index 6298c896b52..38489791501 100644
--- a/doc/src/projects/creator-only/creator-projects-opening.qdoc
+++ b/doc/src/projects/creator-only/creator-projects-opening.qdoc
@@ -59,8 +59,8 @@
\uicontrol Options > \uicontrol Kits.
Qt for Python projects rely on the \l{Using Language Servers}
- {experimental language server client} for code completion,
- highlighting, and other useful features.
+ {language server client} for code completion, highlighting, and
+ other useful features.
If \QC cannot find an existing build for a particular \l{glossary-buildandrun-kit}{kit},
it starts out
diff --git a/doc/src/projects/creator-only/creator-projects-targets.qdoc b/doc/src/projects/creator-only/creator-projects-targets.qdoc
index 1d6101b02f6..6438abc42bb 100644
--- a/doc/src/projects/creator-only/creator-projects-targets.qdoc
+++ b/doc/src/projects/creator-only/creator-projects-targets.qdoc
@@ -73,6 +73,21 @@
\endlist
+ \section1 Filtering Kit Settings
+
+ Typically, only a subset of the kit settings is relevant for a particular
+ setup. Therefore, \QC plugins register sets of relevant settings that you
+ can view and modify in \uicontrol Tools > \uicontrol Options >
+ \uicontrol Kits >. For example, if you use CMake to build all your projects,
+ you can hide Qbs and qmake settings by default.
+
+ To hide and show settings in the \uicontrol Kits tab for the
+ current kit, select \uicontrol {Settings Filter}. To view and
+ modify the settings displayed when you add a new kit, select
+ \uicontrol {Default Settings Filter}.
+
+ \section1 Specifying Kit Settings
+
To add kits:
\list 1
@@ -105,13 +120,13 @@
\li In the \uicontrol Device field, select a device.
- \li In the \uicontrol {Emulator skin} field, select the skin to use for
- the \l {Emulator}{Boot2Qt Emulator Device}.
-
\li In the \uicontrol Sysroot field, specify the directory where the device
image is located. If you are not cross-compiling, leave this field
empty.
+ \li In the \uicontrol {Emulator skin} field, select the skin to use for
+ the \l {Emulator}{Boot2Qt Emulator Device}.
+
\li In the \uicontrol {Compiler} field, select the C or C++ compiler
that you use to build the project. You can add compilers to the list
if they are installed on the development PC, but were not detected
@@ -153,6 +168,10 @@
configuration that should be used by qmake. If you leave this field
empty, the default mkspec of the selected Qt version is used.
+ \li In the \uicontrol {Additional Qbs profile settings} field, select
+ \uicontrol Change to add settings to Qbs build profiles. For more
+ information, see \l {Editing Qbs Profiles}.
+
\li In the \uicontrol {CMake Tool} field, select the CMake tool to use
for building the project. Select \uicontrol Manage to add installed
CMake tools to the list. For more information, see
@@ -169,10 +188,6 @@
\uicontrol Change to edit the variables of the CMake configuration
for the kit.
- \li In the \uicontrol {Additional Qbs profile settings} field, select
- \uicontrol Change to add settings to Qbs build profiles. For more
- information, see \l {Editing Qbs Profiles}.
-
\endlist
\QC uses the \e {default kit} if it does not have enough information to
@@ -194,16 +209,18 @@
\list 1
\li Select \uicontrol Change next to the
- \uicontrol {Additional Qbs Profile Settings} field.
+ \uicontrol {Additional Qbs Profile Settings} field to open the
+ \uicontrol {Custom Properties} dialog.
\image qtcreator-qbs-profile-settings.
- \li Select \uicontrol Add.
+ \li Double-click an empty cell in the \uicontrol Key column to specify
+ the key to add or modify as: \c <module_name>.<property_name>.
- \li In the \uicontrol Key column, spefify the key to add or modify as:
- \c <module_name>.<property_name>.
+ \li Double-click the cell on the same row in the \uicontrol Value column
+ to specify a value as a JSON literal.
- \li In the \uicontrol Value column, specify a value as a JSON literal.
+ \li Select \uicontrol Add to add the key-value pair.
\li Click \uicontrol OK.