forked from qt-creator/qt-creator
MesonProjectManager: fix output parser faulty file location
Faulty meson files are located relative to build dir. Change-Id: I7933c1965daf2f07bed5cdd8210681f74bec77cd Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -132,7 +132,12 @@ void MesonOutputParser::readStdo(const QByteArray &data)
|
||||
|
||||
void MesonOutputParser::setSourceDirectory(const Utils::FilePath &sourceDir)
|
||||
{
|
||||
emit newSearchDirFound(sourceDir);
|
||||
addSearchDir(sourceDir);
|
||||
}
|
||||
|
||||
void MesonOutputParser::setBuildDirectory(const Utils::FilePath &buildDir)
|
||||
{
|
||||
addSearchDir(buildDir);
|
||||
}
|
||||
|
||||
} // namespace MesonProjectManager::Internal
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include <projectexplorer/ioutputparser.h>
|
||||
|
||||
#include <utils/outputformatter.h>
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QRegularExpression>
|
||||
|
||||
@@ -36,6 +37,7 @@ public:
|
||||
Result handleLine(const QString &line, Utils::OutputFormat type) override;
|
||||
void readStdo(const QByteArray &data);
|
||||
void setSourceDirectory(const Utils::FilePath &sourceDir);
|
||||
void setBuildDirectory(const Utils::FilePath &buildDir);
|
||||
};
|
||||
|
||||
} // namespace MesonProjectManager::Internal
|
||||
|
@@ -291,6 +291,7 @@ bool MesonProjectParser::configure(
|
||||
m_srcDir = sourcePath.canonicalPath();
|
||||
m_buildDir = buildPath.canonicalPath();
|
||||
m_outputParser.setSourceDirectory(m_srcDir);
|
||||
m_outputParser.setBuildDirectory(m_buildDir);
|
||||
auto cmd = MesonTools::toolById(m_meson)->configure(m_srcDir, m_buildDir, args);
|
||||
cmd.environment = m_env;
|
||||
// see comment near m_pendingCommands declaration
|
||||
@@ -313,6 +314,7 @@ bool MesonProjectParser::setup(
|
||||
m_srcDir = sourcePath.canonicalPath();
|
||||
m_buildDir = buildPath.canonicalPath();
|
||||
m_outputParser.setSourceDirectory(m_srcDir);
|
||||
m_outputParser.setBuildDirectory(m_buildDir);
|
||||
auto cmdArgs = args;
|
||||
if (forceWipe || isSetup(m_buildDir))
|
||||
cmdArgs << "--wipe";
|
||||
@@ -326,6 +328,7 @@ bool MesonProjectParser::parse(const FilePath &sourcePath, const FilePath &build
|
||||
m_srcDir = sourcePath.canonicalPath();
|
||||
m_buildDir = buildPath.canonicalPath();
|
||||
m_outputParser.setSourceDirectory(m_srcDir);
|
||||
m_outputParser.setBuildDirectory(m_buildDir);
|
||||
if (!isSetup(m_buildDir)) {
|
||||
return parse(m_srcDir);
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user