summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Burchell <robin.burchell@jollamobile.com>2013-07-18 12:44:46 +0200
committerRobin Burchell <robin+qt@viroteck.net>2013-08-07 07:02:14 +0200
commit8bcfbaab19a14cab2b77b4b89dc5811e0d709e0e (patch)
tree7a2fa58908f1982a0bc2a7e00e0744e494c3dfdc
parenta84920f307cd4c5661f09dc41e562ff949d6779c (diff)
Rework the build system to better use parallel builds.4.0.3
Instead of having one gigantic master .pro, split things out into multiple SUBDIRS templates. This allows for slightly better grained build dependencies without losing the sanity of a clearly understandable build system. Change-Id: Ib09cd6170bcf8be55a1b351731f9a6451bb82d27 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
-rw-r--r--examples/examples.pro2
-rw-r--r--examples/qtmail/qtmail.pro23
-rw-r--r--messagingframework.pro38
-rw-r--r--src/libraries/libraries.pro4
-rw-r--r--src/plugins/plugins.pro8
-rw-r--r--src/src.pro5
-rw-r--r--src/tools/tools.pro2
-rw-r--r--tests/tests.pro1
8 files changed, 56 insertions, 27 deletions
diff --git a/examples/examples.pro b/examples/examples.pro
new file mode 100644
index 00000000..d1d84f49
--- /dev/null
+++ b/examples/examples.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = qtmail messagingaccounts serverobserver
diff --git a/examples/qtmail/qtmail.pro b/examples/qtmail/qtmail.pro
new file mode 100644
index 00000000..d49cacc3
--- /dev/null
+++ b/examples/qtmail/qtmail.pro
@@ -0,0 +1,23 @@
+TEMPLATE = subdirs
+
+libs_qmfutil.subdir = libs/qmfutil
+libs_qmfutil.target = sub-qmfutil
+
+app.subdir = app
+app.target = sub-app
+app.depends = sub-qmfutil
+
+plugins_viewers_generic.subdir = plugins/viewers/generic
+plugins_viewers_generic.target = sub-plugins-viewers-generic
+plugins_viewers_generic.depends = sub-qmfutil
+
+plugins_composers_email.subdir = plugins/composers/email
+plugins_composers_email.target = sub-plugins-composers-email
+plugins_composers_email.depends = sub-qmfutil
+
+SUBDIRS += \
+ libs_qmfutil \
+ app \
+ plugins_viewers_generic \
+ plugins_composers_email
+
diff --git a/messagingframework.pro b/messagingframework.pro
index d47d54dc..7c9ca9f3 100644
--- a/messagingframework.pro
+++ b/messagingframework.pro
@@ -1,35 +1,21 @@
TEMPLATE = subdirs
-CONFIG += ordered
-
-SUBDIRS = src/libraries/qmfclient \
- src/libraries/qmfmessageserver \
- src/plugins/messageservices/imap \
- src/plugins/messageservices/pop \
- src/plugins/messageservices/smtp \
- src/plugins/messageservices/qmfsettings \
- src/plugins/contentmanagers/qmfstoragemanager \
- src/tools/messageserver \
- tests
+SUBDIRS = src tests
-!contains(DEFINES,QMF_NO_MESSAGE_SERVICE_EDITOR) {
+tests.depends = src
-SUBDIRS += \
- examples/qtmail/libs/qmfutil \
- examples/qtmail/app \
- examples/qtmail/plugins/viewers/generic \
- examples/qtmail/plugins/composers/email \
- examples/messagingaccounts \
- examples/serverobserver
-
-# disable benchmark test on mac until ported
-!macx {
- !SERVER_AS_DLL {
- SUBDIRS += benchmarks
+!contains(DEFINES,QMF_NO_MESSAGE_SERVICE_EDITOR) {
+ SUBDIRS += examples
+ examples.depends = src
+
+ # disable benchmark test on mac until ported
+ !macx {
+ !SERVER_AS_DLL {
+ SUBDIRS += benchmarks
+ benchmarks.depends = src
+ }
}
}
-}
-
defineReplace(targetPath) {
return($$replace(1, /, $$QMAKE_DIR_SEP))
}
diff --git a/src/libraries/libraries.pro b/src/libraries/libraries.pro
new file mode 100644
index 00000000..a85f1441
--- /dev/null
+++ b/src/libraries/libraries.pro
@@ -0,0 +1,4 @@
+TEMPLATE = subdirs
+SUBDIRS = qmfclient qmfmessageserver
+
+qmfmessageserver.depends = qmfclient
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
new file mode 100644
index 00000000..053ed9bc
--- /dev/null
+++ b/src/plugins/plugins.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ messageservices/imap \
+ messageservices/pop \
+ messageservices/smtp \
+ messageservices/qmfsettings \
+ contentmanagers/qmfstoragemanager
+
diff --git a/src/src.pro b/src/src.pro
new file mode 100644
index 00000000..9c2e1632
--- /dev/null
+++ b/src/src.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+SUBDIRS = libraries plugins tools
+
+plugins.depends = libraries
+tools.depends = libraries
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
new file mode 100644
index 00000000..d05c3377
--- /dev/null
+++ b/src/tools/tools.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = messageserver
diff --git a/tests/tests.pro b/tests/tests.pro
index 782a6976..fb6d53ba 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -1,5 +1,4 @@
TEMPLATE = subdirs
-CONFIG += ordered
SUBDIRS = \
tst_python_email \
tst_qmailaddress \