QMake: Use local paths in interfacing ProFileReader

There are some internal hard asserts on that.

Change-Id: I93bbdff0c9625d42d5f9da3f12219ad90c478d5d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-06-17 12:55:30 +02:00
parent 953ea730b8
commit 8ac67dd1b7
2 changed files with 7 additions and 2 deletions

View File

@@ -1355,7 +1355,10 @@ static bool evaluateOne(const QmakeEvalInput &input, ProFile *pro,
// We don't increase/decrease m_qmakeGlobalsRefCnt here, because the outer profilereaders keep m_qmakeGlobals alive anyway
auto bpReader = new QtSupport::ProFileReader(input.qmakeGlobals, input.qmakeVfs); // needs to access m_qmakeGlobals, m_qmakeVfs
bpReader->setOutputDir(input.buildDirectory.toString());
// FIXME: Currently intentional.
// Core parts of the ProParser hard-assert on non-local items.
bpReader->setOutputDir(input.buildDirectory.path());
bpReader->setCumulative(cumulative);
bpReader->setExtraVars(basevars);
bpReader->setExtraConfigs(basecfgs);

View File

@@ -857,7 +857,9 @@ QtSupport::ProFileReader *QmakeBuildSystem::createProFileReader(const QmakeProFi
auto reader = new QtSupport::ProFileReader(m_qmakeGlobals.get(), m_qmakeVfs);
reader->setOutputDir(buildDir(qmakeProFile->filePath()).toString());
// FIXME: Currently intentional.
// Core parts of the ProParser hard-assert on non-local items
reader->setOutputDir(buildDir(qmakeProFile->filePath()).path());
return reader;
}