diff --git a/qmake/project.cpp b/qmake/project.cpp index 7f831c4cd48..b9e5dcdb1ff 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -1629,6 +1629,9 @@ QMakeProject::setupProject() setTemplate(vars["TEMPLATE"]); if (pfile != "-") vars["TARGET"] << QFileInfo(pfile).baseName(); + vars["_PRO_FILE_"] << pfile; + vars["_PRO_FILE_PWD_"] << (pfile.isEmpty() ? qmake_getpwd() : QFileInfo(pfile).absolutePath()); + vars["OUT_PWD"] << Option::output_dir; } void @@ -3753,11 +3756,8 @@ QMakeProject::doVariableReplaceExpand(const QString &str, QHash &place) { QString var = varMap(_var); - if (var == QLatin1String("OUT_PWD")) { //the out going dir - var = ".BUILTIN." + var; - place[var] = QStringList(Option::output_dir); - } else if(var == QLatin1String("PWD") || //current working dir (of _FILE_) - var == QLatin1String("IN_PWD")) { + if (var == QLatin1String("PWD") || //current working dir (of _FILE_) + var == QLatin1String("IN_PWD")) { var = ".BUILTIN." + var; place[var] = QStringList(qmake_getpwd()); } else if(var == QLatin1String("_LINE_")) { //parser line number @@ -3769,12 +3769,6 @@ QStringList &QMakeProject::values(const QString &_var, QHash[%s]", qPrintable(var), qPrintable(place[var].join("::"))); return place[var];