summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/linguist/lupdate/main.cpp7
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro3
2 files changed, 8 insertions, 2 deletions
diff --git a/src/linguist/lupdate/main.cpp b/src/linguist/lupdate/main.cpp
index 0ef299be3..1eac99be8 100644
--- a/src/linguist/lupdate/main.cpp
+++ b/src/linguist/lupdate/main.cpp
@@ -361,7 +361,12 @@ static void processProject(
QStringList subProFiles;
QDir proDir(proPath);
foreach (const QString &subdir, visitor.values(QLatin1String("SUBDIRS"))) {
- QString subPro = QDir::cleanPath(proDir.absoluteFilePath(subdir));
+ QString realdir = visitor.value(subdir + QLatin1String(".subdir"));
+ if (realdir.isEmpty())
+ realdir = visitor.value(subdir + QLatin1String(".file"));
+ if (realdir.isEmpty())
+ realdir = subdir;
+ QString subPro = QDir::cleanPath(proDir.absoluteFilePath(realdir));
QFileInfo subInfo(subPro);
if (subInfo.isDir())
subProFiles << (subPro + QLatin1Char('/')
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
index f75a46276..13f921703 100644
--- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
+++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
@@ -1,2 +1,3 @@
TEMPLATE = subdirs
-SUBDIRS = win mac unix common
+comm.subdir = common
+SUBDIRS = win mac unix comm