Merge remote-tracking branch 'origin/12.0'

Conflicts:
	src/plugins/clangcodemodel/clangdfollowsymbol.cpp
	src/plugins/debugger/debuggerruncontrol.cpp
	src/plugins/projectexplorer/miniprojecttargetselector.cpp

Change-Id: I45b7fee1a1d784c44f2139fb1ede69190d23d6fd
This commit is contained in:
Eike Ziller
2023-12-06 16:50:15 +01:00
31 changed files with 330 additions and 120 deletions

View File

@@ -202,22 +202,25 @@ void CMakeParser::flush()
if (m_lastTask.isNull())
return;
if (m_lastTask.summary.isEmpty() && !m_lastTask.details.isEmpty())
m_lastTask.summary = m_lastTask.details.takeFirst();
m_lines += m_lastTask.details.count();
Task t = m_lastTask;
m_lastTask.clear();
if (m_callStack) {
m_lastTask.file = m_callStack.value().last().file;
m_lastTask.line = m_callStack.value().last().line;
if (t.summary.isEmpty() && !t.details.isEmpty())
t.summary = t.details.takeFirst();
m_lines += t.details.count();
if (m_callStack.has_value() && !m_callStack.value().isEmpty()) {
t.file = m_callStack.value().last().file;
t.line = m_callStack.value().last().line;
LinkSpecs specs;
m_lastTask.details << QString();
m_lastTask.details << Tr::tr("Call stack:");
t.details << QString();
t.details << Tr::tr("Call stack:");
m_lines += 2;
m_callStack->push_front(m_errorOrWarningLine);
int offset = m_lastTask.details.join('\n').size();
int offset = t.details.join('\n').size();
Utils::reverseForeach(m_callStack.value(), [&](const auto &line) {
const QString fileAndLine = QString("%1:%2").arg(line.file.path()).arg(line.line);
const QString completeLine = QString(" %1%2").arg(fileAndLine).arg(line.function);
@@ -228,16 +231,14 @@ void CMakeParser::flush()
int(fileAndLine.length()),
createLinkTarget(line.file, line.line, -1)});
m_lastTask.details << completeLine;
t.details << completeLine;
offset += completeLine.length() - 2;
++m_lines;
});
setDetailsFormat(m_lastTask, specs);
setDetailsFormat(t, specs);
}
Task t = m_lastTask;
m_lastTask.clear();
scheduleTask(t, m_lines, 1);
m_lines = 0;

View File

@@ -120,6 +120,10 @@ public:
m_tooltip += "<br>" + Tr::tr("Detection source: \"%1\"").arg(m_detectionSource);
m_versionDisplay = cmake.versionDisplay();
// Make sure to always have the right version in the name for Qt SDK CMake installations
if (m_name.startsWith("CMake") && m_name.endsWith("(Qt)"))
m_name = QString("CMake %1 (Qt)").arg(m_versionDisplay);
}
CMakeToolTreeItem() = default;