From 689aa4da2dd7c01ee487dc346db8fe6191c2da4a Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 12 Jun 2012 20:15:41 +0200 Subject: [PATCH] move cachefile_depth calculation out of project evaluator it has no business there Change-Id: I6d1a4b55b5acacc470cc109a6c69a907abbba312 Reviewed-by: Mark Brand --- qmake/option.cpp | 5 +++++ qmake/project.cpp | 6 +----- qmake/project.h | 2 ++ 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 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; }