diff --git a/qmake/generators/projectgenerator.cpp b/qmake/generators/projectgenerator.cpp index 1e5bab669c1..16d1c7109b7 100644 --- a/qmake/generators/projectgenerator.cpp +++ b/qmake/generators/projectgenerator.cpp @@ -78,6 +78,7 @@ ProjectGenerator::init() project->read(QMakeProject::ReadFeatures); project->values("CONFIG").clear(); + Option::postProcessProject(project); QHash &v = project->variables(); QString templ = Option::user_template.isEmpty() ? QString("app") : Option::user_template; diff --git a/qmake/project.cpp b/qmake/project.cpp index 61140e9acbf..3379f452a31 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -1518,6 +1518,12 @@ QMakeProject::read(uchar cmd) vars = base_vars; // start with the base } setupProject(); + } else if (cmd & ReadFeatures) { + // Even when ReadSetup is not set, but ReadFeatures is, + // we still need to process spec_pre.prf to load some + // default values and other settings. + debug_msg(1, "Processing spec_pre (but skipping actual spec): %s", vars["CONFIG"].join("::").toLatin1().constData()); + doProjectInclude("spec_pre", IncludeFlagFeature, vars); } for (QHash::ConstIterator it = extra_vars.constBegin();