summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2018-02-05 13:34:33 +0100
committerTobias Hunger <tobias.hunger@qt.io>2018-02-06 13:41:28 +0000
commit068f993db232141f59e3617b2025b0256610a22f (patch)
treea9a224d7d5465da1ceb9fff2ec287f9d24d87ea3
parente7316c9fe781e15a195d1cfe77b777ec92eaee4c (diff)
downloadqt-creator-068f993db232141f59e3617b2025b0256610a22f.tar.gz
CustomToolChain: Fix expected format for predefined macros
The documentation says predefined macros for custom toolchains are to be in "KEY=VALUE" format, while the code got accidentally changed to only accept "#define KEY VALUE" instead. Task-number: QTCREATORBUG-19714 Change-Id: I073e5b27f6fd5cead25a6406ae1f7cb19a7a03a7 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
-rw-r--r--src/plugins/projectexplorer/customtoolchain.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp
index dc0989eed1..8b60c3c852 100644
--- a/src/plugins/projectexplorer/customtoolchain.cpp
+++ b/src/plugins/projectexplorer/customtoolchain.cpp
@@ -649,7 +649,12 @@ void CustomToolChainConfigWidget::applyImpl()
tc->setCompilerCommand(m_compilerCommand->fileName());
tc->setMakeCommand(m_makeCommand->fileName());
tc->setTargetAbi(m_abiWidget->currentAbi());
- tc->setPredefinedMacros(Macro::toMacros(m_predefinedDetails->text().toUtf8()));
+ Macros macros = Utils::transform<QVector>(
+ m_predefinedDetails->text().split('\n', QString::SkipEmptyParts),
+ [](const QString &m) {
+ return Macro::fromKeyValue(m);
+ });
+ tc->setPredefinedMacros(macros);
tc->setHeaderPaths(m_headerDetails->entries());
tc->setCxx11Flags(m_cxx11Flags->text().split(QLatin1Char(',')));
tc->setMkspecs(m_mkspecs->text());
@@ -666,7 +671,10 @@ void CustomToolChainConfigWidget::setFromToolchain()
m_compilerCommand->setFileName(tc->compilerCommand());
m_makeCommand->setFileName(FileName::fromString(tc->makeCommand(Environment())));
m_abiWidget->setAbis(QList<Abi>(), tc->targetAbi());
- m_predefinedMacros->setPlainText(QString::fromUtf8(Macro::toByteArray(tc->rawPredefinedMacros())));
+ const QStringList macroLines = Utils::transform<QList>(tc->rawPredefinedMacros(), [](const Macro &m) {
+ return QString::fromUtf8(m.toKeyValue(QByteArray()));
+ });
+ m_predefinedMacros->setPlainText(macroLines.join('\n'));
m_headerPaths->setPlainText(tc->headerPathsList().join('\n'));
m_cxx11Flags->setText(tc->cxx11Flags().join(QLatin1Char(',')));
m_mkspecs->setText(tc->mkspecs());