centralize module directory calculation
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>
Tue, 23 Oct 2012 20:15:43 +0000 (22:15 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 29 Oct 2012 21:21:32 +0000 (22:21 +0100)
Change-Id: I5db529676b3287013008f28623a541fee1cde6a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
mkspecs/features/qt_build_paths.prf [new file with mode: 0644]
mkspecs/features/qt_module.prf
mkspecs/features/qt_module_fwdpri.prf
mkspecs/features/qt_module_headers.prf
mkspecs/features/qt_tool.prf

diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
new file mode 100644 (file)
index 0000000..75b83c0
--- /dev/null
@@ -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
+
index 2354193..ac9852b 100644 (file)
@@ -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): \
index 9a0fd36..d62092c 100644 (file)
@@ -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]
 
index 0340f23..7c9940b 100644 (file)
@@ -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)
index 01a26b2..13caa28 100644 (file)
@@ -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)