From 68ecc4f25789321fc29ec9e4981fcfa27e706f1c Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.jansa@gmail.com>
Date: Wed, 11 Sep 2013 18:30:08 +0200
Subject: [PATCH] Allow to build only lrelease + lupdate + lconvert

This is useful e.g. when cross compiling with OpenEmbedded where qtbase-native
is built without GUI support (no-png is set) and we still want to build
native lrelease + lupdate + lconvert tools.

Upstream-Status: Pending

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 examples/examples.pro     |  3 ++-
 src/designer/src/src.pro  | 18 ++++++++++--------
 src/linguist/linguist.pro |  2 +-
 src/src.pro               | 16 +++++++++-------
 tests/auto/auto.pro       | 24 +++++++++++++-----------
 5 files changed, 35 insertions(+), 28 deletions(-)

diff --git a/examples/examples.pro b/examples/examples.pro
index 69365d1..da7b38b 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -1,4 +1,5 @@
 TEMPLATE = subdirs
-qtHaveModule(widgets): SUBDIRS += help designer linguist uitools assistant
+!linguistonly:qtHaveModule(widgets): SUBDIRS += help designer assistant
+qtHaveModule(widgets): SUBDIRS += linguist uitools
 
 winrt: SUBDIRS -= assistant designer
diff --git a/src/designer/src/src.pro b/src/designer/src/src.pro
index 6915e34..3ff2eca 100644
--- a/src/designer/src/src.pro
+++ b/src/designer/src/src.pro
@@ -1,13 +1,15 @@
 TEMPLATE = subdirs
 
-SUBDIRS = \
-    uiplugin \
-    uitools \
-    lib \
-    components \
-    designer
+!linguistonly {
+    SUBDIRS = \
+        uiplugin \
+        lib \
+        components \
+        designer
+}
+SUBDIRS += uitools
 
-contains(QT_CONFIG, shared): SUBDIRS += plugins
+!linguistonly:contains(QT_CONFIG, shared): SUBDIRS += plugins
 
 uitools.depends = uiplugin
 lib.depends = uiplugin
@@ -15,7 +17,7 @@ components.depends = lib
 designer.depends = components
 plugins.depends = lib
 
-qtNomakeTools( \
+!linguistonly:qtNomakeTools( \
     lib \
     components \
     designer \
diff --git a/src/linguist/linguist.pro b/src/linguist/linguist.pro
index 3a70580..a977878 100644
--- a/src/linguist/linguist.pro
+++ b/src/linguist/linguist.pro
@@ -3,7 +3,7 @@ SUBDIRS  = \
     lrelease \
     lupdate \
     lconvert
-!no-png:qtHaveModule(widgets): SUBDIRS += linguist
+!linguistonly:!no-png:qtHaveModule(widgets): SUBDIRS += linguist
 
 qtNomakeTools( \
     linguist \
diff --git a/src/src.pro b/src/src.pro
index 387d54f..56b7d0c 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -4,19 +4,21 @@ qtHaveModule(widgets) {
     no-png {
         message("Some graphics-related tools are unavailable without PNG support")
     } else {
-        SUBDIRS = assistant \
+        !linguistonly {
+            SUBDIRS = assistant \
                   pixeltool \
-                  qtestlib \
-                  designer
+                  qtestlib
+        }
+        SUBDIRS += designer
 
         linguist.depends = designer
     }
 }
 
 SUBDIRS += linguist \
-    qdoc \
     qtplugininfo
-if(!android|android_app):!ios: SUBDIRS += qtpaths
+!linguistonly: SUBDIRS +=  qdoc
+if(!android|android_app):!ios:!linguistonly: SUBDIRS += qtpaths
 
 mac {
     SUBDIRS += macdeployqt
@@ -26,11 +28,11 @@ android {
     SUBDIRS += androiddeployqt
 }
 
-qtHaveModule(dbus): SUBDIRS += qdbus
+!linguistonly:qtHaveModule(dbus): SUBDIRS += qdbus
 
 win32|winrt:SUBDIRS += windeployqt
 winrt:SUBDIRS += winrtrunner
-qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag
+!linguistonly:qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag
 
 qtNomakeTools( \
     pixeltool \
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 20b5fec..8a42d1f 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -1,15 +1,17 @@
 TEMPLATE=subdirs
-SUBDIRS=\
-    linguist \
-    qhelpcontentmodel \
-    qhelpenginecore \
-    qhelpgenerator \
-    qhelpindexmodel \
-    qhelpprojectdata \
-    cmake \
-    installed_cmake \
-    qtdiag \
-    windeployqt
+!linguistonly {
+    SUBDIRS=\
+        linguist \
+        qhelpcontentmodel \
+        qhelpenginecore \
+        qhelpgenerator \
+        qhelpindexmodel \
+        qhelpprojectdata \
+        cmake \
+        installed_cmake \
+        qtdiag \
+        windeployqt
+}
 
 installed_cmake.depends = cmake
 
