do not re-evaluate spec+cache in build passes
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>
Mon, 30 Jan 2012 14:47:45 +0000 (15:47 +0100)
committerQt by Nokia <qt-info@nokia.com>
Tue, 6 Mar 2012 05:34:49 +0000 (06:34 +0100)
clean up the somewhat convoluted code paths which forced re-evaluation.
now that the spec+cache are evaluated in a completely clean context
anyway, there is no point in re-evaluating them for build passes.

Change-Id: I12279083238e9ca7028af97f45e2638c8dc715b8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
qmake/project.cpp
qmake/project.h

index 7f73b1f..35aaee9 100644 (file)
@@ -1257,7 +1257,7 @@ QMakeProject::read(const QString &project, uchar cmd)
 bool
 QMakeProject::read(uchar cmd)
 {
-    if(cfile.isEmpty()) {
+    if ((cmd & ReadSetup) && base_vars.isEmpty()) {
         // hack to get the Option stuff in there
         base_vars["QMAKE_EXT_CPP"] = Option::cpp_ext;
         base_vars["QMAKE_EXT_C"] = Option::c_ext;
@@ -1266,12 +1266,12 @@ QMakeProject::read(uchar cmd)
         if(!Option::user_template_prefix.isEmpty())
             base_vars["TEMPLATE_PREFIX"] = QStringList(Option::user_template_prefix);
 
-        if ((cmd & ReadSetup) && Option::mkfile::do_cache) {        // parse the cache
+        if (Option::mkfile::do_cache) {        // parse the cache
             if (Option::output_dir.startsWith(Option::mkfile::project_build_root))
                 Option::mkfile::cachefile_depth =
                         Option::output_dir.mid(Option::mkfile::project_build_root.length()).count('/');
         }
-        if (cmd & ReadSetup) {             // parse mkspec
+        {             // parse mkspec
             QString qmakespec = Option::mkfile::qmakespec;
             while(qmakespec.endsWith(QLatin1Char('/')))
                 qmakespec.truncate(qmakespec.length()-1);
@@ -1307,7 +1307,6 @@ QMakeProject::read(uchar cmd)
 
     //before commandline
     if (cmd & ReadSetup) {
-        cfile = pfile;
         parser.file = "(internal)";
         parser.from_file = false;
         parser.line_no = 1; //really arg count now.. duh
index 6422ed1..979f148 100644 (file)
@@ -81,7 +81,7 @@ class QMakeProject
     bool recursive;
     bool own_prop;
     bool backslashWarned;
-    QString pfile, cfile;
+    QString pfile;
     QMakeProperty *prop;
     void reset();
     QStringList extra_configs;