QMakeStep: Add extra parser arguments

It is useful when developing toolchain plugin to have separate agruments
for pro-file parser only.
Certain arguments may be added to qmake implicitly, without Qt Creator
control, and we would like to tell them to the parser in order to get
proper code assistance.
This function is used in 3rd party plugin Sailfish OS.

Change-Id: Ie1ce19d5773bb2c0c87b1d58cf00dca57f1108d5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Sergey Levin
2019-06-11 17:49:46 +03:00
parent 72050643fb
commit 30575d2c76
2 changed files with 20 additions and 3 deletions

View File

@@ -383,6 +383,16 @@ void QMakeStep::setExtraArguments(const QStringList &args)
}
}
QStringList QMakeStep::extraParserArguments() const
{
return m_extraParserArgs;
}
void QMakeStep::setExtraParserArguments(const QStringList &args)
{
m_extraParserArgs = args;
}
bool QMakeStep::linkQmlDebuggingLibrary() const
{
return m_linkQmlDebuggingLibrary;
@@ -476,7 +486,8 @@ QString QMakeStep::effectiveQMakeCall() const
QStringList QMakeStep::parserArguments()
{
QStringList result;
// NOTE: extra parser args placed before the other args intentionally
QStringList result = m_extraParserArgs;
BaseQtVersion *qt = QtKitAspect::qtVersion(target()->kit());
QTC_ASSERT(qt, return QStringList());
for (QtcProcess::ConstArgIterator ait(allArguments(qt, ArgumentFlag::Expand)); ait.next(); ) {