Explicitly set output files for qtpreprocess
This fixes build error with XCode 10. XCode 10 build system (a.k.a "New Build System") requires all the files that are generated by scripts and used later on build to be explicitly defined as output files. Task-number: QTBUG-71035 Pick-to: 6.0 6.1 5.15 5.12 Change-Id: Ibec39eee53b0cb3acecf592f1ca53c04b9975cad Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
parent
72d1393c1d
commit
3f0858ed10
@ -783,6 +783,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
|
||||
{
|
||||
QString mkfile = pbx_dir + Option::dir_sep + "qt_preprocess.mak";
|
||||
QFile mkf(mkfile);
|
||||
ProStringList outputPaths;
|
||||
if(mkf.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
||||
writingUnixMakefileGenerator = true;
|
||||
debug_msg(1, "pbuilder: Creating file: %s", mkfile.toLatin1().constData());
|
||||
@ -832,8 +833,10 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
|
||||
++added;
|
||||
const QString file_name = fileFixify(fn, FileFixifyFromOutdir);
|
||||
const QString tmpOut = fileFixify(tmp_out.first().toQString(), FileFixifyFromOutdir);
|
||||
mkt << ' ' << escapeDependencyPath(Option::fixPathToTargetOS(
|
||||
QString path = escapeDependencyPath(Option::fixPathToTargetOS(
|
||||
replaceExtraCompilerVariables(tmpOut, file_name, QString(), NoShell)));
|
||||
mkt << ' ' << path;
|
||||
outputPaths << path;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -844,6 +847,8 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
|
||||
mkt.flush();
|
||||
mkf.close();
|
||||
}
|
||||
// Remove duplicates from build steps with "combine"
|
||||
outputPaths.removeDuplicates();
|
||||
mkfile = fileFixify(mkfile);
|
||||
QString phase_key = keyFor("QMAKE_PBX_PREPROCESS_TARGET");
|
||||
// project->values("QMAKE_PBX_BUILDPHASES").append(phase_key);
|
||||
@ -854,6 +859,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
|
||||
<< "\t\t\t" << writeSettings("isa", "PBXShellScriptBuildPhase", SettingsNoQuote) << ";\n"
|
||||
<< "\t\t\t" << writeSettings("runOnlyForDeploymentPostprocessing", "0", SettingsNoQuote) << ";\n"
|
||||
<< "\t\t\t" << writeSettings("name", "Qt Preprocessors") << ";\n"
|
||||
<< "\t\t\t" << writeSettings("outputPaths", outputPaths, SettingsAsList, 4) << ";\n"
|
||||
<< "\t\t\t" << writeSettings("shellPath", "/bin/sh") << ";\n"
|
||||
<< "\t\t\t" << writeSettings("shellScript", "make -C " + IoUtils::shellQuoteUnix(Option::output_dir)
|
||||
+ " -f " + IoUtils::shellQuoteUnix(mkfile)) << ";\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user