forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.12'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri Change-Id: Ic39945a0e3e140a9467b4b4f572929257ff3a324
This commit is contained in:
@@ -460,7 +460,7 @@
|
||||
|
||||
\list 1
|
||||
\li Perf events may be globally disabled on your system. The
|
||||
preconfigured Boot to Qt images come with perf events enabled. For
|
||||
preconfigured Boot2Qt images come with perf events enabled. For
|
||||
a custom configuration you need to make sure that the file
|
||||
\c {/proc/sys/kernel/perf_event_paranoid} contains a value smaller
|
||||
than \c {2}. For maximum flexibility in recording traces you can
|
||||
|
@@ -114,7 +114,7 @@
|
||||
You can use the experimental Qt Application Manager plugin
|
||||
(commercial only) to deploy, run, and debug applications on the
|
||||
local Linux PC, remote generic SSH Linux targets, or
|
||||
\l{Embedded Devices}{embedded devices}.
|
||||
\l{Boot2Qt Devices}{Boot2Qt devices}.
|
||||
\endlist
|
||||
\endif
|
||||
*/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Creator documentation.
|
||||
@@ -31,30 +31,21 @@
|
||||
You can develop applications for the following platforms:
|
||||
|
||||
\list
|
||||
|
||||
\li Desktop
|
||||
|
||||
\li Android
|
||||
|
||||
\li Embedded
|
||||
|
||||
\li Generic remote Linux
|
||||
|
||||
\li iOS
|
||||
|
||||
\li Microcontroller Units (MCU)
|
||||
|
||||
\li QNX
|
||||
|
||||
\li Universal Windows Platform (UWP)
|
||||
|
||||
\li WebAssembly
|
||||
|
||||
\li \l{Connecting Android Devices}{Android}
|
||||
\li \l{Connecting Bare Metal Devices}{Bare Metal}
|
||||
\li Boot2Qt
|
||||
\li \l{Connecting Embedded Linux Devices}{Generic Remote Linux}
|
||||
\li \l{Connecting iOS Devices}{iOS}
|
||||
\li \l{Connecting MCUs}{Microcontroller Units (MCU)} (commercial only)
|
||||
\li \l{Connecting QNX Devices}{QNX}
|
||||
\li \l{Qt for UWP}{Universal Windows Platform (UWP)}
|
||||
\li \l{Building Applications for the Web}{WebAssembly}
|
||||
\endlist
|
||||
|
||||
\section2 Embedded Devices
|
||||
\section2 Boot2Qt Devices
|
||||
|
||||
The Boot to Qt stack can be made to run on a variety of hardware. For
|
||||
The Boot2Qt stack can be made to run on a variety of hardware. For
|
||||
Qt for Device Creation license holders, tooling is provided to customize the
|
||||
contents of the stack as well as to take it into desired production
|
||||
hardware.
|
||||
@@ -65,8 +56,8 @@
|
||||
\l{https://doc.qt.io/QtForDeviceCreation/index.html}{Qt for Device Creation}
|
||||
documentation.
|
||||
|
||||
\note Since \QC 4.9, only Boot to Qt version 5.9 and later are supported.
|
||||
To develop for earlier Boot to Qt versions, use \QC 4.8.
|
||||
\note Since \QC 4.9, only Boot2Qt version 5.9 and later are supported.
|
||||
To develop for earlier Boot2Qt versions, use \QC 4.8.
|
||||
|
||||
\section2 Mobile Devices
|
||||
|
||||
@@ -99,8 +90,8 @@
|
||||
\li
|
||||
\row
|
||||
\li MCUs
|
||||
\li \image ok
|
||||
\li \image ok
|
||||
\li
|
||||
\li
|
||||
\li \image ok
|
||||
\row
|
||||
\li QNX
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Creator documentation.
|
||||
@@ -47,29 +47,20 @@
|
||||
devices:
|
||||
|
||||
\list
|
||||
|
||||
\li Android Device
|
||||
|
||||
\li Bare Metal Device
|
||||
|
||||
\li Boot2Qt Device (commercial only)
|
||||
|
||||
\li \l{Connecting Android Devices}{Android Device}
|
||||
\li \l{Connecting Bare Metal Devices}{Bare Metal Device}
|
||||
\li \l{https://doc.qt.io/QtForDeviceCreation/b2qt-installation-guides.html}
|
||||
{Boot2Qt Device} (commercial only)
|
||||
\li \l{Emulator}{Boot2Qt Emulator Device} (commercial only)
|
||||
|
||||
\li Generic Linux Device
|
||||
|
||||
\li iOS Device
|
||||
|
||||
\li \l{Connecting Embedded Linux Devices}{Generic Remote Linux Device}
|
||||
\li \l{Connecting iOS Devices}{iOS Device}
|
||||
\li iOS Simulator
|
||||
|
||||
\li QNX Device
|
||||
|
||||
\li Windows Phone
|
||||
|
||||
\li \l{Connecting MCUs}{MCU Device} (commercial only)
|
||||
\li \l{Connecting QNX Devices}{QNX Device}
|
||||
\li \l{Building Applications for the Web}{WebAssembly Runtime}
|
||||
\li \l{Qt for UWP}{Windows Phone}
|
||||
\li Windows Phone Emulator
|
||||
|
||||
\li Windows Runtime (local)
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Filtering Kit Settings
|
||||
|
@@ -37,7 +37,8 @@ function llvmConfig(hostOS, qtcFunctions)
|
||||
{
|
||||
var llvmInstallDirFromEnv = Environment.getEnv("LLVM_INSTALL_DIR")
|
||||
var llvmConfigVariants = [
|
||||
"llvm-config", "llvm-config-7", "llvm-config-8", "llvm-config-9"
|
||||
// CLANG-UPGRADE-CHECK: Adapt once we require a new minimum version.
|
||||
"llvm-config", "llvm-config-8", "llvm-config-9", "llvm-config-10", "llvm-config-11", "llvm-config-12"
|
||||
];
|
||||
|
||||
// Prefer llvm-config* from LLVM_INSTALL_DIR
|
||||
|
@@ -39,7 +39,7 @@ try:
|
||||
# we do not need to hard fail in cases of partial python installation
|
||||
# that will never use this.
|
||||
import json
|
||||
except ModuleNotFoundError:
|
||||
except:
|
||||
print("Python module json not found. "
|
||||
"Native combined debugging might not work.")
|
||||
pass
|
||||
|
@@ -448,7 +448,7 @@ void ClangToolRunWorker::finalize()
|
||||
{
|
||||
const QString toolName = tool()->name();
|
||||
if (m_filesNotAnalyzed.size() != 0) {
|
||||
appendMessage(tr("Error: Failed to analyze %1 files.").arg(m_filesAnalyzed.size()),
|
||||
appendMessage(tr("Error: Failed to analyze %1 files.").arg(m_filesNotAnalyzed.size()),
|
||||
ErrorMessageFormat);
|
||||
Target *target = runControl()->target();
|
||||
if (target && target->activeBuildConfiguration() && !target->activeBuildConfiguration()->buildDirectory().exists()
|
||||
|
@@ -201,7 +201,6 @@ RawProjectPart makeRawProjectPart(const Utils::FilePath &projectFile,
|
||||
kitInfo.cToolChain = toolchainFromFlags(kit,
|
||||
originalFlags,
|
||||
ProjectExplorer::Constants::C_LANGUAGE_ID);
|
||||
ToolChainKitAspect::setToolChain(kit, kitInfo.cToolChain);
|
||||
}
|
||||
addDriverModeFlagIfNeeded(kitInfo.cToolChain, flags, originalFlags);
|
||||
rpp.setFlagsForC({kitInfo.cToolChain, flags});
|
||||
@@ -210,7 +209,6 @@ RawProjectPart makeRawProjectPart(const Utils::FilePath &projectFile,
|
||||
kitInfo.cxxToolChain = toolchainFromFlags(kit,
|
||||
originalFlags,
|
||||
ProjectExplorer::Constants::CXX_LANGUAGE_ID);
|
||||
ToolChainKitAspect::setToolChain(kit, kitInfo.cxxToolChain);
|
||||
}
|
||||
addDriverModeFlagIfNeeded(kitInfo.cxxToolChain, flags, originalFlags);
|
||||
rpp.setFlagsForCxx({kitInfo.cxxToolChain, flags});
|
||||
|
@@ -102,7 +102,7 @@ QList<LocatorFilterEntry> FileSystemFilter::matchesFor(QFutureInterface<LocatorF
|
||||
const QStringList files = dirInfo.entryList(fileFilter,
|
||||
QDir::Name|QDir::IgnoreCase|QDir::LocaleAware);
|
||||
|
||||
const QRegularExpression regExp = createRegExp(entryFileName, caseSensitivity_);
|
||||
QRegularExpression regExp = createRegExp(entryFileName, caseSensitivity_);
|
||||
if (!regExp.isValid())
|
||||
return {};
|
||||
|
||||
@@ -122,7 +122,10 @@ QList<LocatorFilterEntry> FileSystemFilter::matchesFor(QFutureInterface<LocatorF
|
||||
}
|
||||
}
|
||||
// file names can match with +linenumber or :linenumber
|
||||
const EditorManager::FilePathInfo fp = EditorManager::splitLineAndColumnNumber(entry);
|
||||
const EditorManager::FilePathInfo fp = EditorManager::splitLineAndColumnNumber(entryFileName);
|
||||
regExp = createRegExp(fp.filePath, caseSensitivity_);
|
||||
if (!regExp.isValid())
|
||||
return {};
|
||||
const QString fileName = QFileInfo(fp.filePath).fileName();
|
||||
for (const QString &file : files) {
|
||||
if (future.isCanceled())
|
||||
|
@@ -324,6 +324,7 @@ void CppFileSettingsWidget::apply()
|
||||
rc.sourceSuffix = m_ui.sourceSuffixComboBox->currentText();
|
||||
rc.headerSearchPaths = trimmedPaths(m_ui.headerSearchPathsEdit->text());
|
||||
rc.sourceSearchPaths = trimmedPaths(m_ui.sourceSearchPathsEdit->text());
|
||||
rc.licenseTemplatePath = licenseTemplatePath();
|
||||
|
||||
if (rc == *m_settings)
|
||||
return;
|
||||
|
@@ -150,6 +150,11 @@ public:
|
||||
return fn;
|
||||
}
|
||||
|
||||
QString fullRef(bool includePrefix = false) const
|
||||
{
|
||||
return fullName(includePrefix).join('/');
|
||||
}
|
||||
|
||||
void insert(const QStringList &path, BranchNode *n)
|
||||
{
|
||||
BranchNode *current = this;
|
||||
@@ -186,7 +191,7 @@ public:
|
||||
}
|
||||
return names;
|
||||
}
|
||||
return {fullName().join('/')};
|
||||
return {fullRef()};
|
||||
}
|
||||
|
||||
int rowOf(BranchNode *node)
|
||||
@@ -346,7 +351,7 @@ QVariant BranchModel::data(const QModelIndex &index, int role) const
|
||||
return res;
|
||||
}
|
||||
case Qt::EditRole:
|
||||
return index.column() == 0 ? node->fullName().join('/') : QVariant();
|
||||
return index.column() == 0 ? node->fullRef() : QVariant();
|
||||
case Qt::ToolTipRole:
|
||||
if (!node->isLeaf())
|
||||
return QVariant();
|
||||
@@ -381,7 +386,7 @@ bool BranchModel::setData(const QModelIndex &index, const QVariant &value, int r
|
||||
if (newName.isEmpty())
|
||||
return false;
|
||||
|
||||
const QString oldName = node->fullName().join('/');
|
||||
const QString oldName = node->fullRef();
|
||||
if (oldName == newName)
|
||||
return false;
|
||||
|
||||
@@ -525,7 +530,7 @@ QString BranchModel::fullName(const QModelIndex &idx, bool includePrefix) const
|
||||
return QString();
|
||||
if (node == d->headNode)
|
||||
return QString("HEAD");
|
||||
return node->fullName(includePrefix).join('/');
|
||||
return node->fullRef(includePrefix);
|
||||
}
|
||||
|
||||
QStringList BranchModel::localBranchNames() const
|
||||
@@ -901,7 +906,8 @@ void BranchModel::updateUpstreamStatus(BranchNode *node)
|
||||
{
|
||||
if (node->tracking.isEmpty())
|
||||
return;
|
||||
VcsCommand *command = d->client->asyncUpstreamStatus(d->workingDirectory, node->name, node->tracking);
|
||||
VcsCommand *command = d->client->asyncUpstreamStatus(
|
||||
d->workingDirectory, node->fullRef(), node->tracking);
|
||||
QObject::connect(command, &VcsCommand::stdOutText, node, [this, node](const QString &text) {
|
||||
const QStringList split = text.trimmed().split('\t');
|
||||
QTC_ASSERT(split.size() == 2, return);
|
||||
|
@@ -134,7 +134,7 @@ LocalQmlPreviewSupport::LocalQmlPreviewSupport(ProjectExplorer::RunControl *runC
|
||||
const auto currentTarget = runControl->target();
|
||||
const auto *qmlBuildSystem = qobject_cast<QmlProjectManager::QmlBuildSystem *>(currentTarget->buildSystem());
|
||||
|
||||
const auto aspect = runControl->aspect<QmlProjectManager::QmlMainFileAspect>();
|
||||
if (const auto aspect = runControl->aspect<QmlProjectManager::QmlMainFileAspect>()) {
|
||||
const QString mainScript = aspect->mainScript();
|
||||
const QString currentFile = aspect->currentFile();
|
||||
|
||||
@@ -150,6 +150,7 @@ LocalQmlPreviewSupport::LocalQmlPreviewSupport(ProjectExplorer::RunControl *runC
|
||||
commandLine.addArg(currentFile);
|
||||
runnable.setCommandLine(commandLine);
|
||||
}
|
||||
}
|
||||
|
||||
Utils::QtcProcess::addArg(&runnable.commandLineArguments,
|
||||
QmlDebug::qmlDebugLocalArguments(QmlDebug::QmlPreviewServices,
|
||||
|
@@ -51,6 +51,7 @@ static CommandLine emrunCommand(Target *target, const QString &browser, const QS
|
||||
"--browser", browser,
|
||||
"--port", port,
|
||||
"--no_emrun_detect",
|
||||
"--serve_after_close",
|
||||
html.toString()
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user