From 8482e2405e23c6ee65a8f4f60c10e05851396cf5 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 26 Apr 2023 14:47:02 +0200 Subject: FileInProjectFinder: Fix path analysis The previous code let to all possible paths to be accepted with maximum confidence. Fixes: QTCREATORBUG-29090 Change-Id: I3e0876d2fd1a5636dbe45cf152c8a251316185ff Reviewed-by: hjk Reviewed-by: Artem Sokolovskii Reviewed-by: Tim Jenssen --- src/libs/utils/fileinprojectfinder.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/libs/utils/fileinprojectfinder.cpp b/src/libs/utils/fileinprojectfinder.cpp index f92cb70fa7..6ee3c34bec 100644 --- a/src/libs/utils/fileinprojectfinder.cpp +++ b/src/libs/utils/fileinprojectfinder.cpp @@ -248,7 +248,10 @@ bool FileInProjectFinder::findFileOrDirectory(const FilePath &originalPath, File } } while (prefixToIgnore != -1) { - FilePath candidate = originalPath.resolvePath(m_projectDir); + QString candidateString = originalPath.toFSPathString(); + candidateString.remove(0, prefixToIgnore); + candidateString.prepend(m_projectDir.toString()); + const FilePath candidate = FilePath::fromString(candidateString); const int matchLength = origLength - prefixToIgnore; // FIXME: This might be a worse match than what we find later. if (checkPath(candidate, matchLength, fileHandler, directoryHandler)) { -- cgit v1.2.1 From 65a1637d61b1c6432eec0ebd99094569911ede90 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Tue, 25 Apr 2023 17:01:11 +0200 Subject: CMakePM: Fix presets transitive inheritance Fixes: QTCREATORBUG-29076 Change-Id: Ibe4c3eebb3fcebeabafc485949a19e696ecad2de Reviewed-by: Reviewed-by: Alessandro Portale --- src/plugins/cmakeprojectmanager/cmakeproject.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index ecf3228d31..ae6e26f9e3 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -100,7 +100,9 @@ Internal::PresetsData CMakeProject::combinePresets(Internal::PresetsData &cmakeP Utils::sort(presetsList, [](const auto &left, const auto &right) { const bool sameInheritance = left.inherits && right.inherits && left.inherits.value() == right.inherits.value(); - if (!left.inherits || left.inherits.value().contains(right.name) || sameInheritance) + const bool leftInheritsRight = left.inherits + && left.inherits.value().contains(right.name); + if ((left.inherits && !right.inherits) || leftInheritsRight || sameInheritance) return false; return true; }); -- cgit v1.2.1 From 7c1f2ea16d4b9050b3c15bf1ea2221daa0815902 Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Tue, 25 Apr 2023 16:04:30 +0200 Subject: ClangFormat: Fix autoindentation for QML_ and Q_ macros Fixes: QTCREATORBUG-29086 Change-Id: Ie23e46baf2c802799818cb724aacd71776480b06 Reviewed-by: Reviewed-by: Christian Kandeler --- src/plugins/clangformat/clangformatutils.cpp | 43 +++++++++++++++++++--- src/plugins/clangformat/tests/clangformat-test.cpp | 10 ++++- 2 files changed, 46 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp index 7ba6229db3..120e27fde7 100644 --- a/src/plugins/clangformat/clangformatutils.cpp +++ b/src/plugins/clangformat/clangformatutils.cpp @@ -171,9 +171,7 @@ clang::format::FormatStyle qtcStyle() style.SpacesInCStyleCastParentheses = false; style.SpacesInParentheses = false; style.SpacesInSquareBrackets = false; - style.StatementMacros.emplace_back("Q_OBJECT"); - style.StatementMacros.emplace_back("QT_BEGIN_NAMESPACE"); - style.StatementMacros.emplace_back("QT_END_NAMESPACE"); + addQtcStatementMacros(style); style.Standard = FormatStyle::LS_Cpp11; style.TabWidth = 4; style.UseTab = FormatStyle::UT_Never; @@ -278,9 +276,44 @@ Utils::FilePath configForFile(const Utils::FilePath &fileName) void addQtcStatementMacros(clang::format::FormatStyle &style) { - static const std::vector macros = {"Q_OBJECT", + static const std::vector macros = {"Q_CLASSINFO", + "Q_ENUM", + "Q_ENUM_NS", + "Q_FLAG", + "Q_FLAG_NS", + "Q_GADGET", + "Q_GADGET_EXPORT", + "Q_INTERFACES", + "Q_MOC_INCLUDE", + "Q_NAMESPACE", + "Q_NAMESPACE_EXPORT", + "Q_OBJECT", + "Q_PROPERTY", + "Q_REVISION", + "Q_DISABLE_COPY", + "Q_SET_OBJECT_NAME", "QT_BEGIN_NAMESPACE", - "QT_END_NAMESPACE"}; + "QT_END_NAMESPACE", + + "QML_ADDED_IN_MINOR_VERSION", + "QML_ANONYMOUS", + "QML_ATTACHED", + "QML_DECLARE_TYPE", + "QML_DECLARE_TYPEINFO", + "QML_ELEMENT", + "QML_EXTENDED", + "QML_EXTENDED_NAMESPACE", + "QML_EXTRA_VERSION", + "QML_FOREIGN", + "QML_FOREIGN_NAMESPACE", + "QML_IMPLEMENTS_INTERFACES", + "QML_INTERFACE", + "QML_NAMED_ELEMENT", + "QML_REMOVED_IN_MINOR_VERSION", + "QML_SINGLETON", + "QML_UNAVAILABLE", + "QML_UNCREATABLE", + "QML_VALUE_TYPE"}; for (const std::string ¯o : macros) { if (std::find(style.StatementMacros.begin(), style.StatementMacros.end(), macro) == style.StatementMacros.end()) diff --git a/src/plugins/clangformat/tests/clangformat-test.cpp b/src/plugins/clangformat/tests/clangformat-test.cpp index c5f77072e4..80d2cc4da9 100644 --- a/src/plugins/clangformat/tests/clangformat-test.cpp +++ b/src/plugins/clangformat/tests/clangformat-test.cpp @@ -628,10 +628,16 @@ void ClangFormatTest::testCommentBlock() void ClangFormatTest::testClassIndentStructure() { - insertLines({"class test {", " Q_OBJECT", " public:", "};"}); + insertLines( + {"class test {", " Q_OBJECT", " QML_ELEMENT", " QML_SINGLETON", " public:", "};"}); m_indenter->indent(*m_cursor, QChar::Null, TextEditor::TabSettings()); QCOMPARE(documentLines(), - (std::vector{"class test {", " Q_OBJECT", "public:", "};"})); + (std::vector{"class test {", + " Q_OBJECT", + " QML_ELEMENT", + " QML_SINGLETON", + "public:", + "};"})); } void ClangFormatTest::testIndentInitializeVector() -- cgit v1.2.1 From 3aec6b776c163be922ebd22f6e07671962c118d8 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Tue, 25 Apr 2023 14:52:03 +0200 Subject: CMakePM: Fix presets condition with a const value Fixes: QTCREATORBUG-29077 Change-Id: If1ebaa22c07eaa39fb8d4f24c33f26249f17d793 Reviewed-by: Reviewed-by: Alessandro Portale --- src/plugins/cmakeprojectmanager/presetsparser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/cmakeprojectmanager/presetsparser.cpp b/src/plugins/cmakeprojectmanager/presetsparser.cpp index ad4ab07fcb..5ebd17fd63 100644 --- a/src/plugins/cmakeprojectmanager/presetsparser.cpp +++ b/src/plugins/cmakeprojectmanager/presetsparser.cpp @@ -82,7 +82,7 @@ std::optional parseCondition(const QJsonValue &jsonVa if (type == "const") { condition->type = type; - condition->constValue = object.value("const").toBool(); + condition->constValue = object.value("value").toBool(); return condition; } -- cgit v1.2.1 From 927c34df2f9a1acb9da12b41aff9ca28f1843df1 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 27 Apr 2023 08:03:48 +0200 Subject: Core: Fix item flag on locator settingspage Do not make the 'included by default' column editable as this would make the column act strange on double clicks. Instead of providing a non-functional change opportunity for the checkstate's value this is now handled similar to the double click on other columns. Change-Id: Id2851b2bfe2b7cda8c3231f58bf436196a533171 Reviewed-by: Eike Ziller --- src/plugins/coreplugin/locator/locatorsettingspage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/coreplugin/locator/locatorsettingspage.cpp b/src/plugins/coreplugin/locator/locatorsettingspage.cpp index 9940680aa2..0193a791c3 100644 --- a/src/plugins/coreplugin/locator/locatorsettingspage.cpp +++ b/src/plugins/coreplugin/locator/locatorsettingspage.cpp @@ -85,7 +85,7 @@ QVariant FilterItem::data(int column, int role) const return m_filter->shortcutString(); break; case FilterIncludedByDefault: - if (role == Qt::CheckStateRole || role == SortRole || role == Qt::EditRole) + if (role == Qt::CheckStateRole || role == SortRole) return m_filter->isIncludedByDefault() ? Qt::Checked : Qt::Unchecked; break; default: @@ -102,7 +102,7 @@ Qt::ItemFlags FilterItem::flags(int column) const if (column == FilterPrefix) return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable; if (column == FilterIncludedByDefault) - return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsUserCheckable; + return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable; return Qt::ItemIsSelectable | Qt::ItemIsEnabled; } -- cgit v1.2.1 From 239805e5400972839a42d1bae3168549f0b359ee Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 28 Apr 2023 10:13:32 +0200 Subject: Update qbs submodule to HEAD of 2.0 branch Change-Id: I357d5d0b6fdef8e089f4d8ef633e0ef7b1809a01 Reviewed-by: Reviewed-by: Christian Stenger --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/shared/qbs b/src/shared/qbs index e002680feb..6f65ccf9a0 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit e002680feb415ee7d26e3a31d70afeef0d50dea2 +Subproject commit 6f65ccf9a0c35902b29100f3a813e0abd02f4384 -- cgit v1.2.1 From 3593de9846cdc2d7860bcca92cffb06df18e632d Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Sat, 29 Apr 2023 08:20:04 +0200 Subject: Update qbs submodule to HEAD of 2.0 branch Change-Id: I861f73625162351639b8f1ab61d0442cc061fad3 Reviewed-by: Qt CI Bot Reviewed-by: Ivan Komissarov Reviewed-by: --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/shared/qbs b/src/shared/qbs index 6f65ccf9a0..08505e99e0 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 6f65ccf9a0c35902b29100f3a813e0abd02f4384 +Subproject commit 08505e99e004bdfe09ece062670ccae3a8ee7576 -- cgit v1.2.1 From ba5e09f03f27e9454794e1658a764c3ad67ed946 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 28 Apr 2023 14:04:50 +0200 Subject: TextEditor: always return a valid assist interface It is required for updating currently visible proposals. Also guard against potential null assist interfaces. Amends 0bd6d7a69fab1cc622f6e00ee63a15c666967e0d Fixes: QTCREATORBUG-29096 Change-Id: Ic34d70561b471e7e529f2fb7c239b49712aca502 Reviewed-by: Christian Kandeler Reviewed-by: --- src/plugins/cppeditor/cppeditorwidget.cpp | 20 ++++++++------------ src/plugins/cppeditor/cppquickfixassistant.cpp | 3 ++- src/plugins/qmljseditor/qmljseditor.cpp | 2 +- src/plugins/texteditor/codeassist/codeassistant.cpp | 9 +++++---- 4 files changed, 16 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp index 20fe8e6254..0430f210a0 100644 --- a/src/plugins/cppeditor/cppeditorwidget.cpp +++ b/src/plugins/cppeditor/cppeditorwidget.cpp @@ -1267,20 +1267,16 @@ std::unique_ptr CppEditorWidget::createAssistInterface(AssistKi if (cap) return cap->createAssistInterface(textDocument()->filePath(), this, getFeatures(), reason); - else { - if (isOldStyleSignalOrSlot()) - return CppModelManager::instance() - ->completionAssistProvider() - ->createAssistInterface(textDocument()->filePath(), this, getFeatures(), reason); - return TextEditorWidget::createAssistInterface(kind, reason); + + if (isOldStyleSignalOrSlot()) { + return CppModelManager::instance() + ->completionAssistProvider() + ->createAssistInterface(textDocument()->filePath(), this, getFeatures(), reason); } - } else if (kind == QuickFix) { - if (isSemanticInfoValid()) - return std::make_unique(const_cast(this), reason); - } else { - return TextEditorWidget::createAssistInterface(kind, reason); } - return nullptr; + if (kind == QuickFix && isSemanticInfoValid()) + return std::make_unique(const_cast(this), reason); + return TextEditorWidget::createAssistInterface(kind, reason); } QSharedPointer CppEditorWidget::declDefLink() const diff --git a/src/plugins/cppeditor/cppquickfixassistant.cpp b/src/plugins/cppeditor/cppquickfixassistant.cpp index 89af86e334..19514387d7 100644 --- a/src/plugins/cppeditor/cppquickfixassistant.cpp +++ b/src/plugins/cppeditor/cppquickfixassistant.cpp @@ -149,7 +149,8 @@ QTextCursor CppQuickFixInterface::adjustedCursor() QuickFixOperations quickFixOperations(const TextEditor::AssistInterface *interface) { const auto cppInterface = dynamic_cast(interface); - QTC_ASSERT(cppInterface, return {}); + if (!cppInterface) + return {}; QuickFixOperations quickFixes; for (CppQuickFixFactory *factory : CppQuickFixFactory::cppQuickFixFactories()) factory->match(*cppInterface, quickFixes); diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index 590ef1da58..ccc94a5ea4 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -1042,7 +1042,7 @@ std::unique_ptr QmlJSEditorWidget::createAssistInterface( return std::make_unique( const_cast(this), reason); } - return nullptr; + return TextEditorWidget::createAssistInterface(assistKind, reason); } QString QmlJSEditorWidget::foldReplacementText(const QTextBlock &block) const diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 34ba897d8d..b3d9d477e2 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -175,8 +175,7 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason, std::unique_ptr assistInterface = m_editorWidget->createAssistInterface(kind, reason); - if (!assistInterface) - return; + QTC_ASSERT(assistInterface, return); // We got an assist provider and interface so no need to reset the current context anymore earlyReturnContextClear.reset({}); @@ -395,8 +394,10 @@ void CodeAssistantPrivate::notifyChange() if (m_editorWidget->position() < m_proposalWidget->basePosition()) { destroyContext(); } else { - m_proposalWidget->updateProposal( - m_editorWidget->createAssistInterface(m_assistKind, m_proposalWidget->reason())); + std::unique_ptr assistInterface + = m_editorWidget->createAssistInterface(m_assistKind, m_proposalWidget->reason()); + QTC_ASSERT(assistInterface, destroyContext(); return); + m_proposalWidget->updateProposal(std::move(assistInterface)); if (!isDisplayingProposal()) requestActivationCharProposal(); } -- cgit v1.2.1 From 6bf6b89fe801aae10a8391d4ec0f1ed66b2cf34e Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 2 May 2023 14:24:56 +0200 Subject: GenericProjectManager: Do not make every subdir an include dir Large projects can have thousands of subdirectories, only a tiny subset of which are supposed to be include directories. Use the directory name as a heuristic instead. Fixes: QTCREATORBUG-29099 Change-Id: I207ea2b7d2739c4f6c27fa96865dfde2570caf8a Reviewed-by: Qt CI Bot Reviewed-by: Christian Stenger --- src/plugins/genericprojectmanager/genericproject.cpp | 5 +++-- src/plugins/genericprojectmanager/genericprojectwizard.cpp | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 518b765bcb..fbe77e74a9 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -330,8 +330,9 @@ bool GenericBuildSystem::addFiles(Node *, const FilePaths &filePaths_, FilePaths QSet toAdd; for (const QString &filePath : filePaths) { - const QString directory = QFileInfo(filePath).absolutePath(); - if (!includes.contains(directory)) + const QFileInfo fi(filePath); + const QString directory = fi.absolutePath(); + if (fi.fileName() == "include" && !includes.contains(directory)) toAdd << directory; } diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp index 27d2a3932b..1f125ff321 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp +++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp @@ -141,6 +141,8 @@ Core::GeneratedFiles GenericProjectWizard::generateFiles(const QWizard *w, const QDir dir(projectPath.toString()); for (const QString &path : paths) { QFileInfo fileInfo(path); + if (fileInfo.fileName() != "include") + continue; QDir thisDir(fileInfo.absoluteFilePath()); if (! thisDir.entryList(nameFilters, QDir::Files).isEmpty()) { -- cgit v1.2.1 From d2b3c31e0494ce03edf633adea50ca488456d09f Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 3 May 2023 14:28:33 +0200 Subject: Update qbs submodule to HEAD of 2.0 branch Change-Id: I649138237245120f7dd9448dfdb1027375dbb114 Reviewed-by: Christian Stenger --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/shared/qbs b/src/shared/qbs index 08505e99e0..03e717b06e 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 08505e99e004bdfe09ece062670ccae3a8ee7576 +Subproject commit 03e717b06ed5c0864618e763f08f91d9fc94b733 -- cgit v1.2.1 From b083a4d55efbf9f6558034c0ce4efe31062e0e5b Mon Sep 17 00:00:00 2001 From: Karim Abdelrahman Date: Wed, 5 Apr 2023 10:50:33 +0300 Subject: McuSupport: fix toolchain naming difference between windows and linux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Toolchain naming convention is different in windows "mingw" than in linux "gcc". That caused the logic to fail on windows and prompt the user to remove a kit of an existing target. Task-number: QTCREATORBUG-29003 Change-Id: Ib99a9b38fec30b9a6826874f1acd0bb2f8615e1e Reviewed-by: Reviewed-by: Sivert Krøvel Reviewed-by: Alessandro Portale --- src/plugins/mcusupport/mcukitmanager.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/plugins/mcusupport/mcukitmanager.cpp b/src/plugins/mcusupport/mcukitmanager.cpp index 61f268f021..f68eca6973 100644 --- a/src/plugins/mcusupport/mcukitmanager.cpp +++ b/src/plugins/mcusupport/mcukitmanager.cpp @@ -289,8 +289,7 @@ public: cMakeToolchainFile.toString().toUtf8()); if (!cMakeToolchainFile.exists()) { printMessage( - Tr::tr( - "Warning for target %1: missing CMake toolchain file expected at %2.") + Tr::tr("Warning for target %1: missing CMake toolchain file expected at %2.") .arg(generateKitNameFromTarget(mcuTarget), cMakeToolchainFile.toUserOutput()), false); @@ -301,8 +300,7 @@ public: "/lib/cmake/Qul/QulGenerators.cmake"); configMap.insert("QUL_GENERATORS", generatorsPath.toString().toUtf8()); if (!generatorsPath.exists()) { - printMessage(Tr::tr( - "Warning for target %1: missing QulGenerators expected at %2.") + printMessage(Tr::tr("Warning for target %1: missing QulGenerators expected at %2.") .arg(generateKitNameFromTarget(mcuTarget), generatorsPath.toUserOutput()), false); @@ -510,8 +508,7 @@ void createAutomaticKits(const SettingsHandler::Ptr &settingsHandler) } case McuAbstractPackage::Status::EmptyPath: { printMessage( - Tr::tr( - "Missing %1. Add the path in Edit > Preferences > Devices > MCU.") + Tr::tr("Missing %1. Add the path in Edit > Preferences > Devices > MCU.") .arg(qtForMCUsPackage->detectionPath().toUserOutput()), true); return; @@ -524,9 +521,8 @@ void createAutomaticKits(const SettingsHandler::Ptr &settingsHandler) if (CMakeProjectManager::CMakeToolManager::cmakeTools().isEmpty()) { printMessage( - Tr::tr( - "No CMake tool was detected. Add a CMake tool in Edit > Preferences > " - "Kits > CMake."), + Tr::tr("No CMake tool was detected. Add a CMake tool in Edit > Preferences > " + "Kits > CMake."), true); return; } @@ -744,11 +740,17 @@ static bool anyKitDescriptionFileExists(const FilePaths &jsonFiles, const QRegularExpressionMatch match = re.match(jsonFile.fileName()); QStringList kitsPropertiesFromFileName; if (match.hasMatch()) { - const QString toolchain = match.captured(1).replace( - "gnu", "gcc"); // kitFileName contains gnu while profiles.xml contains gcc + QString toolchain = match.captured(1); const QString vendor = match.captured(2); const QString device = match.captured(3); + /* + * file name of kit starts with "gnu" while in profiles.xml name of + * toolchain is "gcc" on Linux and "mingw" on Windows + */ + toolchain = HostOsInfo::isLinuxHost() ? toolchain.replace("gnu", "gcc") + : toolchain.replace("gnu", "mingw"); + kitsPropertiesFromFileName << toolchain << vendor << device; } -- cgit v1.2.1