summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2012-10-23 22:15:43 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-29 22:21:32 +0100
commit4a9ffb5c9ee3f2b307fd9dc794d1467ed03f9bdb (patch)
tree9499069d5f33f12ed491062ada5e2806989dbbe2 /mkspecs
parentc9266e7cb93cc9c265f0de69e3660ee7dc4492c6 (diff)
centralize module directory calculation
Change-Id: I5db529676b3287013008f28623a541fee1cde6a0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/qt_build_paths.prf25
-rw-r--r--mkspecs/features/qt_module.prf20
-rw-r--r--mkspecs/features/qt_module_fwdpri.prf11
-rw-r--r--mkspecs/features/qt_module_headers.prf6
-rw-r--r--mkspecs/features/qt_tool.prf15
5 files changed, 29 insertions, 48 deletions
diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
new file mode 100644
index 0000000000..75b83c0a5a
--- /dev/null
+++ b/mkspecs/features/qt_build_paths.prf
@@ -0,0 +1,25 @@
+# Find the module's source root dir.
+MODULE_PROFILE_DIR = $$_PRO_FILE_PWD_
+for(ever) {
+ exists($$MODULE_PROFILE_DIR/sync.profile):break()
+ nmpri = $$dirname(MODULE_PROFILE_DIR)
+ equals(nmpri, $$MODULE_PROFILE_DIR):error("No sync.profile found. This does not look like a Qt module source tree.")
+ MODULE_PROFILE_DIR = $$nmpri
+ unset(nmpri)
+}
+
+isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
+isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
+isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
+
+QTDIR = $$[QT_HOST_PREFIX]
+exists($$QTDIR/.qmake.cache) {
+ mod_component_base = $$QTDIR
+ mod_qmake_base = $$QTDIR
+} else {
+ mod_component_base = $$MODULE_BASE_OUTDIR
+ mod_qmake_base = $$MODULE_QMAKE_OUTDIR
+}
+# Permit modules to enforce being built outside QTDIR.
+force_independent: mod_component_base = $$MODULE_BASE_OUTDIR
+
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 23541930e3..ac9852b0e8 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -32,19 +32,7 @@ else: \
MODULE_DEFINE = QT_$${ucmodule}_LIB
MODULE_DEFINES = $$MODULE_DEFINE $$MODULE_DEFINES
-# Find the module's source root dir.
-MODULE_PROFILE_DIR = $$_PRO_FILE_PWD_
-for(ever) {
- exists($$MODULE_PROFILE_DIR/sync.profile):break()
- nmpri = $$dirname(MODULE_PROFILE_DIR)
- equals(nmpri, $$MODULE_PROFILE_DIR):error("No sync.profile found. This does not look like a Qt module source tree.")
- MODULE_PROFILE_DIR = $$nmpri
- unset(nmpri)
-}
-
-isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
-isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
-isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
+load(qt_build_paths)
# This check will be removed soon. Weird indentation to avoid reindenting the code later.
!isEmpty(MODULE_PRI) {
@@ -123,12 +111,6 @@ CONFIG -= fix_output_dirs
!isEmpty(QMAKE_DOCS) {
doc_subdir = doc
- QTDIR = $$[QT_HOST_PREFIX]
- !force_independent:exists($$QTDIR/.qmake.cache): \
- mod_component_base = $$QTDIR
- else: \
- mod_component_base = $$MODULE_BASE_OUTDIR
-
unset(QMAKE_DOCS_INDEX)
QMAKE_DOCS_OUTPUTDIR = $$mod_component_base/$$doc_subdir/qt$${MODULE}
for(qmod, QMAKEMODULES): \
diff --git a/mkspecs/features/qt_module_fwdpri.prf b/mkspecs/features/qt_module_fwdpri.prf
index 9a0fd36019..d62092cf6c 100644
--- a/mkspecs/features/qt_module_fwdpri.prf
+++ b/mkspecs/features/qt_module_fwdpri.prf
@@ -1,15 +1,6 @@
!build_pass {
- QTDIR = $$[QT_HOST_PREFIX]
- exists($$QTDIR/.qmake.cache) {
- mod_component_base = $$QTDIR
- mod_qmake_base = $$QTDIR
- } else {
- mod_component_base = $$MODULE_BASE_OUTDIR
- mod_qmake_base = $$MODULE_QMAKE_OUTDIR
- }
- # Permit modules to enforce being built outside QTDIR.
- force_independent: mod_component_base = $$MODULE_BASE_OUTDIR
+ load(qt_build_paths)
isEmpty(MODULE_INSTALL_LIBS): MODULE_INSTALL_LIBS = $$[QT_INSTALL_LIBS/raw]
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 0340f234c5..7c9940b698 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -1,8 +1,4 @@
-QTDIR = $$[QT_HOST_PREFIX]
-!force_independent:exists($$QTDIR/.qmake.cache): \
- mod_component_base = $$QTDIR
-else: \
- mod_component_base = $$MODULE_BASE_OUTDIR
+load(qt_build_paths)
!build_pass {
qtPrepareTool(QMAKE_SYNCQT, syncqt)
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 01a26b238e..13caa28a49 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -16,20 +16,7 @@ INSTALLS += target
MODULE_DEPENDS = $$replace(QT, -private$, )
- # Find the module's source root dir.
- MODULE_PROFILE_DIR = $$_PRO_FILE_PWD_
- for(ever) {
- exists($$MODULE_PROFILE_DIR/sync.profile):break()
- nmpri = $$dirname(MODULE_PROFILE_DIR)
- equals(nmpri, $$MODULE_PROFILE_DIR): \
- error("No sync.profile found. This does not look like a Qt module source tree.")
- MODULE_PROFILE_DIR = $$nmpri
- unset(nmpri)
- }
-
- isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
- MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
- isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
+ load(qt_build_paths)
load(resolve_target)
cmd = $$shell_path($$QMAKE_RESOLVED_TARGET)