diff options
author | Christian Kandeler <[email protected]> | 2025-07-15 15:13:53 +0200 |
---|---|---|
committer | Christian Kandeler <[email protected]> | 2025-07-15 15:43:20 +0000 |
commit | 245b6ae6075e5cd2b08238a91872b69f8867fb4d (patch) | |
tree | 24ffbeb9b925e8464839a51f8ed1031d85609ca7 | |
parent | 0852d3384dece1e7c6593be04f0e1666522ee246 (diff) |
Change-Id: Ieb5dfacaee42295148bc7bf84f383d2401acbf66
Reviewed-by: hjk <[email protected]>
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakeproject.cpp | 12 | ||||
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakeproject.h | 2 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 59b7be3fa02..a5a3701b439 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -1511,9 +1511,17 @@ QList<QPair<Id, QString>> QmakeBuildSystem::generators() const void QmakeBuildSystem::runGenerator(Utils::Id id) { + if (!m_generatorError.isNull()) { + TaskHub::removeTask(m_generatorError); + m_generatorError.clear(); + } + QTC_ASSERT(buildConfiguration(), return); - const auto showError = [](const QString &detail) { - Core::MessageManager::writeDisrupting(Tr::tr("qmake generator failed: %1.").arg(detail)); + const auto showError = [this](const QString &detail) { + m_generatorError + = OtherTask(Task::Error, Tr::tr("qmake generator failed.").append('\n').append(detail)); + TaskHub::addTask(m_generatorError); + TaskHub::requestPopup(); }; const QtVersion * const qtVersion = QtKitAspect::qtVersion(kit()); if (!qtVersion) { diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index 880b6c89de4..9ebc0ccc2a0 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -11,6 +11,7 @@ #include <projectexplorer/deploymentdata.h> #include <projectexplorer/project.h> #include <projectexplorer/toolchain.h> +#include <projectexplorer/task.h> #include <QStringList> #include <QFutureInterface> @@ -199,6 +200,7 @@ private: Internal::CentralizedFolderWatcher *m_centralizedFolderWatcher = nullptr; ProjectExplorer::BuildSystem::ParseGuard m_guard; + ProjectExplorer::Task m_generatorError; bool m_firstParseNeeded = true; }; |