summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qmake/option.cpp5
-rw-r--r--qmake/project.cpp6
-rw-r--r--qmake/project.h2
3 files changed, 8 insertions, 5 deletions
diff --git a/qmake/option.cpp b/qmake/option.cpp
index b2f5de50b5..b01b4eded5 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -556,6 +556,11 @@ bool Option::postProcessProject(QMakeProject *project)
Option::lex_mod = project->first("QMAKE_MOD_LEX");
Option::yacc_mod = project->first("QMAKE_MOD_YACC");
Option::dir_sep = project->first("QMAKE_DIR_SEP");
+
+ if (Option::output_dir.startsWith(project->buildRoot()))
+ Option::mkfile::cachefile_depth =
+ Option::output_dir.mid(project->buildRoot().length()).count('/');
+
return true;
}
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 928ecc9bce..8b151539fd 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -1333,9 +1333,9 @@ QMakeProject::read(uchar cmd)
if (base_vars.isEmpty()) {
QString superdir;
QString project_root;
- QString project_build_root;
QStringList qmakepath;
QStringList qmakefeatures;
+ project_build_root.clear();
if (Option::mkfile::do_cache) { // parse the cache
QHash<QString, QStringList> cache;
QString rdir = Option::output_dir;
@@ -1403,10 +1403,6 @@ QMakeProject::read(uchar cmd)
qmakepath = cache.value(QLatin1String("QMAKEPATH"));
qmakefeatures = cache.value(QLatin1String("QMAKEFEATURES"));
- if (Option::output_dir.startsWith(project_build_root))
- Option::mkfile::cachefile_depth =
- Option::output_dir.mid(project_build_root.length()).count('/');
-
if (!superfile.isEmpty())
vars["_QMAKE_SUPER_CACHE_"] << superfile;
if (!cachefile.isEmpty())
diff --git a/qmake/project.h b/qmake/project.h
index cf71e5e72c..266053a972 100644
--- a/qmake/project.h
+++ b/qmake/project.h
@@ -82,6 +82,7 @@ class QMakeProject
bool need_restart;
bool own_prop;
bool backslashWarned;
+ QString project_build_root;
QString conffile;
QString superfile;
QString cachefile;
@@ -136,6 +137,7 @@ public:
QStringList userTestFunctions() { return testFunctions.keys(); }
QString projectFile();
+ QString buildRoot() const { return project_build_root; }
QString confFile() const { return conffile; }
QString cacheFile() const { return cachefile; }
QString specDir() const { return real_spec; }