Merge remote-tracking branch 'origin/4.12'

Conflicts:
	src/plugins/baremetal/debugservers/uvsc/uvtargetdevicemodel.cpp

Change-Id: I4a90920e52dbbe9eb46aef3437ee3c5a6e7b31c6
This commit is contained in:
Eike Ziller
2020-03-16 08:30:33 +01:00
181 changed files with 1729 additions and 856 deletions

View File

@@ -72,6 +72,7 @@
#include <QDebug>
#include <QDir>
#include <QFileSystemWatcher>
#include <QLoggingCategory>
using namespace QmakeProjectManager::Internal;
using namespace ProjectExplorer;
@@ -83,6 +84,8 @@ namespace Internal {
const int UPDATE_INTERVAL = 3000;
static Q_LOGGING_CATEGORY(qmakeBuildSystemLog, "qtc.qmake.buildsystem", QtWarningMsg);
/// Watches folders for QmakePriFile nodes
/// use one file system watcher to watch all folders
/// such minimizing system ressouce usage
@@ -185,7 +188,7 @@ QmakeBuildSystem::QmakeBuildSystem(QmakeBuildConfiguration *bc)
m_qmakeVfs->setTextCodec(codec);
m_asyncUpdateTimer.setSingleShot(true);
m_asyncUpdateTimer.setInterval(UPDATE_INTERVAL);
m_asyncUpdateTimer.setInterval(0);
connect(&m_asyncUpdateTimer, &QTimer::timeout, this, &QmakeBuildSystem::asyncUpdate);
m_rootProFile = std::make_unique<QmakeProFile>(this, projectFilePath());
@@ -454,12 +457,11 @@ void QmakeBuildSystem::scheduleAsyncUpdateFile(QmakeProFile *file, QmakeProFile:
void QmakeBuildSystem::scheduleUpdateAllNowOrLater()
{
if (m_firstParseNeeded) {
m_firstParseNeeded = false;
qCDebug(qmakeBuildSystemLog) << __FUNCTION__ << m_firstParseNeeded;
if (m_firstParseNeeded)
scheduleUpdateAll(QmakeProFile::ParseNow);
} else {
else
scheduleUpdateAll(QmakeProFile::ParseLater);
}
}
void QmakeBuildSystem::scheduleUpdateAll(QmakeProFile::AsyncUpdateDelay delay)
@@ -490,13 +492,17 @@ void QmakeBuildSystem::scheduleUpdateAll(QmakeProFile::AsyncUpdateDelay delay)
void QmakeBuildSystem::startAsyncTimer(QmakeProFile::AsyncUpdateDelay delay)
{
if (!m_buildConfiguration->isActive())
if (!m_buildConfiguration->isActive()) {
qCDebug(qmakeBuildSystemLog) << __FUNCTION__ << "skipped, not active";
return;
}
const int interval = qMin(m_asyncUpdateTimer.interval(),
delay == QmakeProFile::ParseLater ? UPDATE_INTERVAL : 0);
qCDebug(qmakeBuildSystemLog) << __FUNCTION__ << interval;
m_asyncUpdateTimer.stop();
m_asyncUpdateTimer.setInterval(qMin(m_asyncUpdateTimer.interval(),
delay == QmakeProFile::ParseLater ? UPDATE_INTERVAL : 0));
m_asyncUpdateTimer.setInterval(interval);
m_asyncUpdateTimer.start();
}
@@ -543,6 +549,9 @@ void QmakeBuildSystem::decrementPendingEvaluateFutures()
m_guard.markAsSuccess(); // Qmake always returns (some) data, even when it failed:-)
m_guard = {}; // This triggers emitParsingFinished by destroying the previous guard.
qCDebug(qmakeBuildSystemLog) << __FUNCTION__ << "first parse succeeded";
m_firstParseNeeded = false;
emitBuildSystemUpdated();
}
}
@@ -556,6 +565,7 @@ bool QmakeBuildSystem::wasEvaluateCanceled()
void QmakeBuildSystem::asyncUpdate()
{
m_asyncUpdateTimer.setInterval(UPDATE_INTERVAL);
qCDebug(qmakeBuildSystemLog) << __FUNCTION__;
if (m_invalidateQmakeVfsContents) {
m_invalidateQmakeVfsContents = false;
@@ -616,7 +626,7 @@ Tasks QmakeProject::projectIssues(const Kit *k) const
if (qtThatContainsProject && qtThatContainsProject != qtFromKit) {
result.append(CompileTask(Task::Warning,
tr("Project is part of Qt sources that do not match "
"the Qt defined in the Kit")));
"the Qt defined in the kit.")));
}
return result;