forked from qt-creator/qt-creator
AutoTools: Improve parsing of CPPFLAGS
Change-Id: I55019b37a883fca7241aa27bf27e45b03c4262c2 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com> Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
@@ -131,12 +131,12 @@ QByteArray MakefileParser::defines() const
|
|||||||
|
|
||||||
QStringList MakefileParser::cflags() const
|
QStringList MakefileParser::cflags() const
|
||||||
{
|
{
|
||||||
return m_cflags;
|
return m_cppflags + m_cflags;
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList MakefileParser::cxxflags() const
|
QStringList MakefileParser::cxxflags() const
|
||||||
{
|
{
|
||||||
return m_cxxflags;
|
return m_cppflags + m_cxxflags;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MakefileParser::cancel()
|
void MakefileParser::cancel()
|
||||||
@@ -506,6 +506,15 @@ bool MakefileParser::maybeParseCXXFlag(const QString &term)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool MakefileParser::maybeParseCPPFlag(const QString &term)
|
||||||
|
{
|
||||||
|
if (term.startsWith(QLatin1Char('-'))) {
|
||||||
|
m_cppflags += term;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void MakefileParser::addAllSources()
|
void MakefileParser::addAllSources()
|
||||||
{
|
{
|
||||||
QStringList extensions;
|
QStringList extensions;
|
||||||
@@ -550,11 +559,14 @@ void MakefileParser::parseIncludePaths()
|
|||||||
foreach (const QString &term, parseTermsAfterAssign(line))
|
foreach (const QString &term, parseTermsAfterAssign(line))
|
||||||
maybeParseDefine(term) || maybeParseInclude(term, dirName)
|
maybeParseDefine(term) || maybeParseInclude(term, dirName)
|
||||||
|| maybeParseCFlag(term);
|
|| maybeParseCFlag(term);
|
||||||
} else if (varName.endsWith(QLatin1String("CPPFLAGS"))
|
} else if (varName.endsWith(QLatin1String("CXXFLAGS"))) {
|
||||||
|| varName.endsWith(QLatin1String("CXXFLAGS"))) {
|
|
||||||
foreach (const QString &term, parseTermsAfterAssign(line))
|
foreach (const QString &term, parseTermsAfterAssign(line))
|
||||||
maybeParseDefine(term) || maybeParseInclude(term, dirName)
|
maybeParseDefine(term) || maybeParseInclude(term, dirName)
|
||||||
|| maybeParseCXXFlag(term);
|
|| maybeParseCXXFlag(term);
|
||||||
|
} else if (varName.endsWith(QLatin1String("CPPFLAGS"))) {
|
||||||
|
foreach (const QString &term, parseTermsAfterAssign(line))
|
||||||
|
maybeParseDefine(term) || maybeParseInclude(term, dirName)
|
||||||
|
|| maybeParseCPPFlag(term);
|
||||||
}
|
}
|
||||||
} while (!line.isNull());
|
} while (!line.isNull());
|
||||||
|
|
||||||
|
|||||||
@@ -258,6 +258,11 @@ private:
|
|||||||
*/
|
*/
|
||||||
bool maybeParseCXXFlag(const QString &term);
|
bool maybeParseCXXFlag(const QString &term);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If term is compiler flag -<flag>, adds it to cppflags and returns true.
|
||||||
|
*/
|
||||||
|
bool maybeParseCPPFlag(const QString &term);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_success; ///< Return value for MakefileParser::parse().
|
bool m_success; ///< Return value for MakefileParser::parse().
|
||||||
|
|
||||||
@@ -272,6 +277,7 @@ private:
|
|||||||
QByteArray m_defines; ///< Return value for MakefileParser::defines()
|
QByteArray m_defines; ///< Return value for MakefileParser::defines()
|
||||||
QStringList m_cflags; ///< Return value for MakefileParser::cflags()
|
QStringList m_cflags; ///< Return value for MakefileParser::cflags()
|
||||||
QStringList m_cxxflags; ///< Return value for MakefileParser::cxxflags()
|
QStringList m_cxxflags; ///< Return value for MakefileParser::cxxflags()
|
||||||
|
QStringList m_cppflags; ///< The cpp flags, which will be part of both cflags and cxxflags
|
||||||
|
|
||||||
QString m_line; ///< Current line of the makefile
|
QString m_line; ///< Current line of the makefile
|
||||||
QTextStream m_textStream; ///< Textstream that represents the makefile
|
QTextStream m_textStream; ///< Textstream that represents the makefile
|
||||||
|
|||||||
Reference in New Issue
Block a user