diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/shell-unix.conf | 8 | ||||
-rw-r--r-- | mkspecs/common/shell-win32.conf | 8 | ||||
-rw-r--r-- | mkspecs/features/qml_module.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_build_config.prf | 5 | ||||
-rw-r--r-- | mkspecs/features/qt_example_installs.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_functions.prf | 7 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_module_headers.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_module_pris.prf | 8 | ||||
-rw-r--r-- | mkspecs/features/qt_parts.prf | 3 | ||||
-rw-r--r-- | mkspecs/features/qt_plugin.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_tool.prf | 2 |
12 files changed, 26 insertions, 25 deletions
diff --git a/mkspecs/common/shell-unix.conf b/mkspecs/common/shell-unix.conf index 17c3612fdc..63c435d037 100644 --- a/mkspecs/common/shell-unix.conf +++ b/mkspecs/common/shell-unix.conf @@ -7,8 +7,8 @@ QMAKE_COPY_DIR = $$QMAKE_COPY -R QMAKE_MOVE = mv -f QMAKE_DEL_FILE = rm -f QMAKE_DEL_DIR = rmdir -QMAKE_CHK_DIR_EXISTS = test -d -QMAKE_CHK_FILE_EXISTS = test -f -QMAKE_CHK_EXISTS_GLUE = "|| " -QMAKE_MKDIR = mkdir -p +QMAKE_CHK_EXISTS = test -e %1 || +QMAKE_CHK_DIR_EXISTS = test -d # legacy +QMAKE_MKDIR = mkdir -p # legacy +QMAKE_MKDIR_CMD = test -d %1 || mkdir -p %1 QMAKE_STREAM_EDITOR = sed diff --git a/mkspecs/common/shell-win32.conf b/mkspecs/common/shell-win32.conf index 826e87e34f..77c9698388 100644 --- a/mkspecs/common/shell-win32.conf +++ b/mkspecs/common/shell-win32.conf @@ -5,10 +5,10 @@ QMAKE_COPY_DIR = xcopy /s /q /y /i QMAKE_MOVE = move QMAKE_DEL_FILE = del QMAKE_DEL_DIR = rmdir -QMAKE_CHK_DIR_EXISTS = if not exist -QMAKE_CHK_FILE_EXISTS = if not exist -QMAKE_CHK_EXISTS_GLUE = -QMAKE_MKDIR = mkdir +QMAKE_CHK_EXISTS = if not exist %1 +QMAKE_CHK_DIR_EXISTS = if not exist # legacy +QMAKE_MKDIR = mkdir # legacy +QMAKE_MKDIR_CMD = if not exist %1 mkdir %1 & if not exist %1 exit 1 # xcopy copies the contained files if source is a directory. Deal with it. CONFIG += copy_dir_files diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf index db5f6787b3..d6ff25eed5 100644 --- a/mkspecs/features/qml_module.prf +++ b/mkspecs/features/qml_module.prf @@ -25,7 +25,7 @@ qml1_target: \ else: \ instbase = $$[QT_INSTALL_QML] -!prefix_build { +!force_independent { # These bizarre rules copy the files to the qtbase build directory defineReplace(qmlModStripSrcDir) { diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 4f5b62e1e5..88c1f3f3f2 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -20,10 +20,11 @@ debug(1, "Not loading qmodule.pri twice") } +# force_independent can be set externally. prefix_build not. !exists($$[QT_HOST_DATA]/.qmake.cache): \ - CONFIG += prefix_build + CONFIG += prefix_build force_independent -!build_pass:!isEmpty(_QMAKE_SUPER_CACHE_):prefix_build { +!build_pass:!isEmpty(_QMAKE_SUPER_CACHE_):force_independent { # When doing a -prefix build of top-level qt5/qt.pro, we need to announce # this repo's module pris' location to the other repos. isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$shadowed($$dirname(_QMAKE_CONF_)) diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf index 04d7a17ab9..479a16a90b 100644 --- a/mkspecs/features/qt_example_installs.prf +++ b/mkspecs/features/qt_example_installs.prf @@ -26,7 +26,7 @@ defineTest(addInstallFiles) { } probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples) -!isEmpty(probase):!contains(probase, ^\\..*) { +!isEmpty(probase):!contains(probase, ^\\..*):!isEmpty(_QMAKE_CACHE_) { for(ex, EXAMPLE_FILES): \ sourcefiles += $$files($$absolute_path($$ex, $$_PRO_FILE_PWD_)) for(res, RESOURCES) { diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 478c255836..8cd2473224 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -236,13 +236,10 @@ defineTest(qtAddToolEnv) { defineTest(qtAddTargetEnv) { deps = $$replace(QT, -private$, ) - deps = $$resolve_depends(deps, "QT.") + deps = $$resolve_depends(deps, "QT.", ".depends" ".private_depends" ".run_depends") !isEmpty(deps) { - for(dep, deps) { + for(dep, deps): \ deppath += $$shell_path($$eval(QT.$${dep}.libs)) - for(rpath, QT.$${dep}.rpath_link): \ - deppath += $$shell_path($$rpath) - } equals(QMAKE_HOST.os, Windows) { deppath.name = PATH } else:contains(QMAKE_HOST.os, Linux|FreeBSD) { diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index d015b213d7..1132943d97 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -127,7 +127,7 @@ unix|win32-g++* { !isEmpty(_QMAKE_SUPER_CACHE_): \ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* else: \ - rplbase = $$MODULE_QMAKE_OUTDIR + rplbase = $$MODULE_BASE_OUTDIR include_replace.match = $$rplbase/include include_replace.replace = $$[QT_INSTALL_HEADERS/raw] lib_replace.match = $$rplbase/lib diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index 10d3fe3c0b..40d6bb0d40 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -15,7 +15,7 @@ load(qt_build_paths) qtPrepareTool(QMAKE_SYNCQT, syncqt) contains(QT_CONFIG, private_tests): \ # -developer-build QMAKE_SYNCQT += -check-includes - QMAKE_SYNCQT += -module $$MODULE_INCNAME -mkspecsdir $$[QT_HOST_DATA/get]/mkspecs -outdir $$MODULE_BASE_OUTDIR $$MODULE_BASE_DIR + QMAKE_SYNCQT += -module $$MODULE_INCNAME -version $$VERSION -outdir $$MODULE_BASE_OUTDIR $$MODULE_BASE_DIR !silent: message($$QMAKE_SYNCQT) system($$QMAKE_SYNCQT)|error("Failed to run: $$QMAKE_SYNCQT") } diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf index b74e5dd73f..03863e0648 100644 --- a/mkspecs/features/qt_module_pris.prf +++ b/mkspecs/features/qt_module_pris.prf @@ -11,7 +11,7 @@ load(qt_build_paths) MODULE_FWD_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_lib_$${MODULE}.pri -prefix_build: \ +force_independent: \ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri else: \ MODULE_PRI = $$MODULE_FWD_PRI @@ -71,11 +71,11 @@ else: \ $$module_config \ "QT.$${MODULE}.DEFINES = $$MODULE_DEFINES" \ # assume sufficient quoting "" \ - "QT_CONFIG += $$MODULE" # this is obsolete, but some code still depends on it + "QT_MODULES += $$MODULE" write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.") MODULE_PRI_FILES = $$MODULE_PRI - prefix_build { + force_independent { # Create a forwarding module .pri file MODULE_FWD_PRI_CONT = \ @@ -113,7 +113,7 @@ else: \ includes private_includes bins libs libexecs plugins imports qml \ rpath_link rpath_link_private \ )):defined(QT.$${MODULE}.$$var, var):cache(QT.$${MODULE}.$$var, transient) - cache(QT_CONFIG, transient) + cache(QT_MODULES, transient) } # !build_pass diff --git a/mkspecs/features/qt_parts.prf b/mkspecs/features/qt_parts.prf index 12ba312bcd..37dc849f83 100644 --- a/mkspecs/features/qt_parts.prf +++ b/mkspecs/features/qt_parts.prf @@ -9,6 +9,9 @@ # We mean it. # +# Ensure that each module has a .qmake.cache when properly qmake'd. +cache() + load(qt_build_config) TEMPLATE = subdirs diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index 54a995daae..158de39753 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -60,7 +60,7 @@ unix|win32-g++* { !isEmpty(_QMAKE_SUPER_CACHE_): \ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* else: \ - rplbase = $$MODULE_QMAKE_OUTDIR + rplbase = $$MODULE_BASE_OUTDIR lib_replace.match = $$rplbase/lib lib_replace.replace = $$[QT_INSTALL_LIBS/raw] QMAKE_PRL_INSTALL_REPLACE += lib_replace diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf index b449e4074d..9d50856900 100644 --- a/mkspecs/features/qt_tool.prf +++ b/mkspecs/features/qt_tool.prf @@ -31,7 +31,7 @@ load(qt_targets) # If we are doing a prefix build, create a "module" pri which enables # qtPrepareTool() to work with the non-installed build. -!build_pass:prefix_build { +!build_pass:force_independent { isEmpty(MODULE):MODULE = $$TARGET |