diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2012-10-23 22:15:43 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-10-29 22:21:32 +0100 |
commit | 4a9ffb5c9ee3f2b307fd9dc794d1467ed03f9bdb (patch) | |
tree | 9499069d5f33f12ed491062ada5e2806989dbbe2 /mkspecs/features | |
parent | c9266e7cb93cc9c265f0de69e3660ee7dc4492c6 (diff) |
centralize module directory calculation
Change-Id: I5db529676b3287013008f28623a541fee1cde6a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/qt_build_paths.prf | 25 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 20 | ||||
-rw-r--r-- | mkspecs/features/qt_module_fwdpri.prf | 11 | ||||
-rw-r--r-- | mkspecs/features/qt_module_headers.prf | 6 | ||||
-rw-r--r-- | mkspecs/features/qt_tool.prf | 15 |
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) |