From aee59f06e0017e225363d4207d3d96c2b30698e1 Mon Sep 17 00:00:00 2001 From: Bernd Weimer Date: Tue, 8 Apr 2014 14:41:06 +0200 Subject: QNX: Fix QDir::entryInfoList() If D_FLAG_FILTER is set, duplicate name entries are filtered out, so this flag has to be set along with D_FLAG_STAT in the call to dircntl. Also releaved dependencies between defines__EXT_QNX__READDIR_R, __EXT_QNX__READDIR64_R and _POSIX_THREAD_SAFE_FUNCTIONS Task-number: QTBUG-38189 Change-Id: I4e620cb9967e3d1baf6f2109a7c83703702f805b Reviewed-by: Thomas McGuire --- mkspecs/qnx-armle-v7-qcc/qplatformdefs.h | 2 +- mkspecs/qnx-x86-qcc/qplatformdefs.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h b/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h index 2f95f0d392..27e4a3aa41 100644 --- a/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h +++ b/mkspecs/qnx-armle-v7-qcc/qplatformdefs.h @@ -83,7 +83,7 @@ #include #define QT_USE_XOPEN_LFS_EXTENSIONS -#if !defined(__EXT_QNX__READDIR64_R) +#if defined(__EXT_QNX__READDIR_R) && !defined(__EXT_QNX__READDIR64_R) #define QT_NO_READDIR64 #endif #include "../common/posix/qplatformdefs.h" diff --git a/mkspecs/qnx-x86-qcc/qplatformdefs.h b/mkspecs/qnx-x86-qcc/qplatformdefs.h index b47aecde0d..246f82e27f 100644 --- a/mkspecs/qnx-x86-qcc/qplatformdefs.h +++ b/mkspecs/qnx-x86-qcc/qplatformdefs.h @@ -83,7 +83,7 @@ #include #define QT_USE_XOPEN_LFS_EXTENSIONS -#if !defined(__EXT_QNX__READDIR64_R) +#if defined(__EXT_QNX__READDIR_R) && !defined(__EXT_QNX__READDIR64_R) #define QT_NO_READDIR64 #endif #include "../common/posix/qplatformdefs.h" -- cgit v1.2.3 From cd46e9d959b6ef5f4d28ed83711fd18d692c07c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simo=20F=C3=A4lt?= Date: Wed, 19 Feb 2014 10:24:57 +0200 Subject: Add make check target for iOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enabling check target to run test apps in iPhone simulator. Task-number: QTBUG-36639 Change-Id: I700d998fe9f1a6c910431789e98e4789d820f3e4 Reviewed-by: Oswald Buddenhagen Reviewed-by: Tony Sarajärvi Reviewed-by: Tor Arne Vestbø --- mkspecs/macx-ios-clang/features/default_post.prf | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/macx-ios-clang/features/default_post.prf b/mkspecs/macx-ios-clang/features/default_post.prf index 496553f8c0..79024c588c 100644 --- a/mkspecs/macx-ios-clang/features/default_post.prf +++ b/mkspecs/macx-ios-clang/features/default_post.prf @@ -77,6 +77,9 @@ equals(TEMPLATE, app) { args += $$system_quote($$arg) system("cd $$system_quote($$OUT_PWD) && $$QMAKE_QMAKE $$args $$system_quote($$_PRO_FILE_) -spec macx-xcode") + check.commands = "$(MAKE) -f $(MAKEFILE).ReleaseSimulator xcode_build_check" + QMAKE_EXTRA_TARGETS += check + } else { load(resolve_config) @@ -113,6 +116,9 @@ equals(TEMPLATE, app) { QMAKE_EXTRA_TARGETS += xcode_build_dir_distclean distclean.depends = xcode_build_dir_distclean QMAKE_EXTRA_TARGETS += distclean + + xcode_build_check.commands = "$(TESTRUNNER) $$title($$cfg)-$${sdk}/$(TARGET).app $(TESTARGS)" + QMAKE_EXTRA_TARGETS += xcode_build_check } CONFIG = -- cgit v1.2.3 From 8d04d622b9ebbe8a6d1ec4d1362b6fc01e56eece Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 14 Apr 2014 16:28:17 +0200 Subject: enable path replacement in installed qml plugin prl files on all platforms amends 08a2d8df4, take 2. Change-Id: If827612caf15b0d5d79fea38fa4915b1d36743d6 Reviewed-by: Joerg Bornemann --- mkspecs/features/qml_plugin.prf | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf index f3739572c7..0b47a2b4cf 100644 --- a/mkspecs/features/qml_plugin.prf +++ b/mkspecs/features/qml_plugin.prf @@ -101,11 +101,9 @@ load(qt_common) load(qml_module) -unix|mingw { - !isEmpty(_QMAKE_SUPER_CACHE_): \ - lib_replace.match = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*/lib - else: \ - lib_replace.match = $$MODULE_BASE_OUTDIR - lib_replace.replace = $$[QT_INSTALL_LIBS/raw] - QMAKE_PRL_INSTALL_REPLACE += lib_replace -} +!isEmpty(_QMAKE_SUPER_CACHE_): \ + lib_replace.match = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*/lib +else: \ + lib_replace.match = $$MODULE_BASE_OUTDIR +lib_replace.replace = $$[QT_INSTALL_LIBS/raw] +QMAKE_PRL_INSTALL_REPLACE += lib_replace -- cgit v1.2.3 From a5e4d3d4db03ba3092d0d415cee6c5ed1a7b4f5b Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 14 Apr 2014 17:17:49 +0200 Subject: properly replace windows paths in installed qml plugin prl files amends 53f48a4b, take 2. Change-Id: Ia20d7879e4e1b6a34d5bb9e36b4fd7f17139b5fe Reviewed-by: Joerg Bornemann --- mkspecs/features/qml_plugin.prf | 1 + 1 file changed, 1 insertion(+) (limited to 'mkspecs') diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf index 0b47a2b4cf..7314cb1f04 100644 --- a/mkspecs/features/qml_plugin.prf +++ b/mkspecs/features/qml_plugin.prf @@ -106,4 +106,5 @@ load(qml_module) else: \ lib_replace.match = $$MODULE_BASE_OUTDIR lib_replace.replace = $$[QT_INSTALL_LIBS/raw] +lib_replace.CONFIG = path QMAKE_PRL_INSTALL_REPLACE += lib_replace -- cgit v1.2.3 From ee86ce89a63a5a7b071ec4116987609aa2a17600 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 14 Apr 2014 16:53:55 +0200 Subject: don't attempt to replace include paths in meta files neither .prl nor .la files even contain include paths. in .pc files, we assign the final path to start with, so there is nothing to replace, either. Change-Id: I919dfa01e0a1d0ef8ef1220174de1d33c66cedf9 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_module.prf | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 2134077ed3..1ff55019f3 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -170,30 +170,27 @@ load(qt_installs) rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* else: \ rplbase = $$MODULE_BASE_OUTDIR -include_replace.match = $$rplbase/include -include_replace.replace = $$[QT_INSTALL_HEADERS/raw] -include_replace.CONFIG = path lib_replace.match = $$rplbase/lib host_build: \ lib_replace.replace = $$[QT_HOST_LIBS] else: \ lib_replace.replace = $$[QT_INSTALL_LIBS/raw] lib_replace.CONFIG = path -QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace +QMAKE_PRL_INSTALL_REPLACE += lib_replace unix|mingw { CONFIG += create_pc QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace - QMAKE_PKGCONFIG_INCDIR = $$include_replace.replace + QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME QMAKE_PKGCONFIG_DESTDIR = pkgconfig - QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace + QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace } unix { CONFIG += create_libtool explicitlib QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace - QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace + QMAKE_LIBTOOL_INSTALL_REPLACE += lib_replace } unix|mingw { -- cgit v1.2.3 From aa20e7f9d86cb43462d835e4e9c7ce1905478c30 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 14 Apr 2014 17:51:41 +0200 Subject: reshuffle code for clarity move a bit around, nest/de-duplicate dependent conditionals Change-Id: I048bd3f409ce42b4138bccb28fcc513840202e7a Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_module.prf | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 1ff55019f3..a247b2cc6b 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -127,6 +127,8 @@ win32 { # keeps the code clean and helps in writing code that is # safe across all platforms. DEFINES *= _CRT_SECURE_NO_WARNINGS + + DEFINES += _USE_MATH_DEFINES } aix-g++* { @@ -166,6 +168,9 @@ android: CONFIG += qt_android_deps #install directives load(qt_installs) +load(qt_targets) +load(qt_common) + !isEmpty(_QMAKE_SUPER_CACHE_): \ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* else: \ @@ -179,27 +184,24 @@ lib_replace.CONFIG = path QMAKE_PRL_INSTALL_REPLACE += lib_replace unix|mingw { - CONFIG += create_pc - QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace - QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] - QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME - QMAKE_PKGCONFIG_DESTDIR = pkgconfig - QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace -} - -unix { - CONFIG += create_libtool explicitlib - QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace - QMAKE_LIBTOOL_INSTALL_REPLACE += lib_replace -} - -unix|mingw { + CONFIG += create_pc + QMAKE_PKGCONFIG_DESTDIR = pkgconfig + QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace + QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] + QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$section(VERSION, ., 0, 0) ") QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$section(VERSION, ., 0, 0)) for(i, MODULE_DEPENDS): \ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION)) isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \ QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module + QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace + + unix { + CONFIG += create_libtool explicitlib + QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace + QMAKE_LIBTOOL_INSTALL_REPLACE += lib_replace + } } contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE @@ -218,9 +220,3 @@ win32 { } TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end - -load(qt_targets) -load(qt_common) - -win32:DEFINES+=_USE_MATH_DEFINES - -- cgit v1.2.3 From a33afed1989d08d6f76994052f0d34ea50bfd01e Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 14 Apr 2014 16:33:18 +0200 Subject: de-duplicate setup of libdir replacement in prl files Change-Id: Ia93fa02d9e63597d3347fee3aaf2aca65e7cc83a Reviewed-by: Joerg Bornemann Reviewed-by: Davide Pesavento --- mkspecs/features/qml_plugin.prf | 8 -------- mkspecs/features/qt_common.prf | 12 ++++++++++++ mkspecs/features/qt_module.prf | 13 +------------ mkspecs/features/qt_plugin.prf | 9 --------- 4 files changed, 13 insertions(+), 29 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf index 7314cb1f04..f161a71ef9 100644 --- a/mkspecs/features/qml_plugin.prf +++ b/mkspecs/features/qml_plugin.prf @@ -100,11 +100,3 @@ load(qt_common) } load(qml_module) - -!isEmpty(_QMAKE_SUPER_CACHE_): \ - lib_replace.match = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*/lib -else: \ - lib_replace.match = $$MODULE_BASE_OUTDIR -lib_replace.replace = $$[QT_INSTALL_LIBS/raw] -lib_replace.CONFIG = path -QMAKE_PRL_INSTALL_REPLACE += lib_replace diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index 6cd848b405..b58f969b07 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -19,6 +19,18 @@ contains(TEMPLATE, .*lib) { unix:contains(QT_CONFIG, reduce_relocations): CONFIG += bsymbolic_functions contains(QT_CONFIG, largefile): CONFIG += largefile contains(QT_CONFIG, separate_debug_info): CONFIG += separate_debug_info + + !isEmpty(_QMAKE_SUPER_CACHE_): \ + rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* + else: \ + rplbase = $$MODULE_BASE_OUTDIR + lib_replace.match = $$rplbase/lib + host_build: \ + lib_replace.replace = $$[QT_HOST_LIBS] + else: \ + lib_replace.replace = $$[QT_INSTALL_LIBS/raw] + lib_replace.CONFIG = path + QMAKE_PRL_INSTALL_REPLACE += lib_replace } warnings_are_errors:warning_clean { diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index a247b2cc6b..e250f93696 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -171,18 +171,7 @@ load(qt_installs) load(qt_targets) load(qt_common) -!isEmpty(_QMAKE_SUPER_CACHE_): \ - rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* -else: \ - rplbase = $$MODULE_BASE_OUTDIR -lib_replace.match = $$rplbase/lib -host_build: \ - lib_replace.replace = $$[QT_HOST_LIBS] -else: \ - lib_replace.replace = $$[QT_INSTALL_LIBS/raw] -lib_replace.CONFIG = path -QMAKE_PRL_INSTALL_REPLACE += lib_replace - +# this builds on top of qt_common unix|mingw { CONFIG += create_pc QMAKE_PKGCONFIG_DESTDIR = pkgconfig diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index c020bd2767..52567eaff0 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -83,12 +83,3 @@ load(qt_common) wince*:LIBS += $$QMAKE_LIBS_GUI QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF - -!isEmpty(_QMAKE_SUPER_CACHE_): \ - rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* -else: \ - rplbase = $$MODULE_BASE_OUTDIR -lib_replace.match = $$rplbase/lib -lib_replace.replace = $$[QT_INSTALL_LIBS/raw] -lib_replace.CONFIG = path -QMAKE_PRL_INSTALL_REPLACE += lib_replace -- cgit v1.2.3 From eaefbe36e88e75725083d52e03d3a7843aa418f6 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 14 Apr 2014 17:32:23 +0200 Subject: snuff -L/-I with system paths when installing meta files Task-number: QTBUG-37963 Change-Id: I8e268387f9dc33d7fab76395301b1396ca0445ff Reviewed-by: Joerg Bornemann Reviewed-by: Davide Pesavento --- mkspecs/features/qt_common.prf | 12 +++++++++--- mkspecs/features/qt_module.prf | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index b58f969b07..4dcabe9237 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -24,11 +24,17 @@ contains(TEMPLATE, .*lib) { rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* else: \ rplbase = $$MODULE_BASE_OUTDIR - lib_replace.match = $$rplbase/lib host_build: \ - lib_replace.replace = $$[QT_HOST_LIBS] + qt_libdir = $$[QT_HOST_LIBS] else: \ - lib_replace.replace = $$[QT_INSTALL_LIBS/raw] + qt_libdir = $$[QT_INSTALL_LIBS/raw] + contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { + lib_replace.match = "[^ ']*$$rplbase/lib" + lib_replace.replace = + } else { + lib_replace.match = $$rplbase/lib + lib_replace.replace = $$qt_libdir + } lib_replace.CONFIG = path QMAKE_PRL_INSTALL_REPLACE += lib_replace } diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index e250f93696..5dac0250ea 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -175,7 +175,7 @@ load(qt_common) unix|mingw { CONFIG += create_pc QMAKE_PKGCONFIG_DESTDIR = pkgconfig - QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace + QMAKE_PKGCONFIG_LIBDIR = $$qt_libdir QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$section(VERSION, ., 0, 0) ") @@ -188,7 +188,7 @@ unix|mingw { unix { CONFIG += create_libtool explicitlib - QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace + QMAKE_LIBTOOL_LIBDIR = $$qt_libdir QMAKE_LIBTOOL_INSTALL_REPLACE += lib_replace } } -- cgit v1.2.3 From dcfd36c2686bcbd56b6a0295640e228f76d7bf1d Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 16 Apr 2014 19:35:17 +0200 Subject: Revert "Automatically link printsupport plugins to static applications." It has been fully obsoleted by 4255ba40ab073afcf2a095b135883612859af4c2. This reverts commit 99eecab83d4a4c79979aa0b1fcf1f58c14dcf526. Change-Id: Id7b8d3bba27ff43e38e4fe32a4f2950de9ced493 Reviewed-by: Friedemann Kleint Reviewed-by: John Layt --- mkspecs/features/qt.prf | 2 -- 1 file changed, 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 5968a8a4ff..418b124a85 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -204,8 +204,6 @@ contains(QT_CONFIG, static) { else: \ QTPLUGIN += $$QT_DEFAULT_QPA_PLUGIN } - needs_printsupport_plugin: \ - QTPLUGIN += $$QT_DEFAULT_PRINTSUPPORTPLUGIN import_plugins:!isEmpty(QTPLUGIN) { IMPORT_FILE_CONT = \ "// This file is autogenerated by qmake. It imports static plugin classes for" \ -- cgit v1.2.3 From bbcdccd6768f999a49717dfc78efd4bb9d880412 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 16 Apr 2014 21:18:27 +0200 Subject: deprecate import_qpa_plugin and qpa_minimal_plugin they have been fully superseded by 4255ba40ab073afcf2a095b135883612859af4c2. Change-Id: If7ac14c8b7d3cf00fb0cb916036b62eb86c9cee0 Reviewed-by: Joerg Bornemann Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qt.prf | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 418b124a85..54423017ee 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -163,6 +163,14 @@ contains(qt_module_deps, qml): \ } } +!import_qpa_plugin { + warning("CONFIG-=import_qpa_plugin is deprecated. Use QTPLUGIN.platforms=- instead.") + QTPLUGIN.platforms = - +} else: qpa_minimal_plugin { + warning("CONFIG+=qpa_minimal_plugin is deprecated. Use QTPLUGIN.platforms=qminimal instead.") + QTPLUGIN.platforms = qminimal +} + contains(TEMPLATE, .*app) { autoplugs = for (qtmod, qt_module_deps) { @@ -198,12 +206,6 @@ QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN contains(QT_CONFIG, static) { QT_PLUGIN_VERIFY += QTPLUGIN force_import_plugins|contains(TEMPLATE, .*app) { - needs_qpa_plugin:import_qpa_plugin { - qpa_minimal_plugin: \ - QTPLUGIN += qminimal - else: \ - QTPLUGIN += $$QT_DEFAULT_QPA_PLUGIN - } import_plugins:!isEmpty(QTPLUGIN) { IMPORT_FILE_CONT = \ "// This file is autogenerated by qmake. It imports static plugin classes for" \ -- cgit v1.2.3 From a162a3cbbc3c27b42c86f870aba051a408f04ed4 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Wed, 23 Apr 2014 16:26:26 +0200 Subject: Android: Add "unversioned_libname" configuration On Android, there's a limitation set on the names of the libraries you deploy that they must start with "lib" and end with ".so", so Android apps will link against and deploy with the unversioned libQt5FooBar.so libraries. When cross-compiling on Windows however, due to the lack of symbolic links, the only installed library used to be the main library target "libQt5FooBar.so.X.Y.Z" (for version X.Y.Z.) This has been worked around in packaging, but breaks building add-on modules on top of Qt, and is clearly wrong. This patch introduces a new "unversioned_libname" configuration in qmake which is currently only supported for the Unix makefile generator and only enabled for Android builds. When it is enabled, only the unversioned library "libQt5FooBar.so" will be created. Task-number: QTBUG-38347 Change-Id: Ia8897ca7a23a62e2a526d0e02854899b02eb19dc Reviewed-by: Oswald Buddenhagen --- mkspecs/android-g++/qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 44624fcca5..c9497edfad 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -3,7 +3,7 @@ MAKEFILE_GENERATOR = UNIX QMAKE_PLATFORM = android QMAKE_COMPILER = gcc -CONFIG += android_install unversioned_soname android_deployment_settings +CONFIG += android_install unversioned_soname unversioned_libname android_deployment_settings include(../common/linux.conf) include(../common/gcc-base-unix.conf) -- cgit v1.2.3 From 68d83cabaee62c6651d04cdf64c48f5d1b463bdb Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Fri, 25 Apr 2014 08:25:23 +0200 Subject: Fixed target path condition for font deployment Change-Id: I49568f5780af30753e68a6487afdc6c8f3b67214 Reviewed-by: Andrew Knight Reviewed-by: Oswald Buddenhagen --- mkspecs/features/winrt/font_deployment.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/winrt/font_deployment.prf b/mkspecs/features/winrt/font_deployment.prf index 36db5b7cac..8fe4ea4c15 100644 --- a/mkspecs/features/winrt/font_deployment.prf +++ b/mkspecs/features/winrt/font_deployment.prf @@ -43,7 +43,7 @@ if(!build_pass:equals(TEMPLATE, "vcapp")) { !isEmpty(FONTS):equals(TEMPLATE, "app") { fonts.files = $$BUILD_DIR/fonts/* - isEmpty($$target.path) { + isEmpty(target.path) { fonts.path = $$OUT_PWD/fonts } else { fonts.path = $$target.path/fonts -- cgit v1.2.3 From 379042b84c74988ef5cadfe592aa202a2ebf9c61 Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Fri, 25 Apr 2014 08:26:12 +0200 Subject: winphone: Fixed font deployment for Visual Studio projects Instead of collecting all files from the "fonts" directory to deploy them to the phone, we only collect files which are mentioned in the FONTS variable. Otherwise fonts that were copied to the fonts directory earlier (due to FONTS being unset (default fonts) or set to another set of fonts) will also be deployed as part of the project. Change-Id: I24c77e154a9f2ec75e88d487c056b0be46e17e87 Reviewed-by: Andrew Knight Reviewed-by: Oswald Buddenhagen --- mkspecs/features/winrt/font_deployment.prf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/winrt/font_deployment.prf b/mkspecs/features/winrt/font_deployment.prf index 8fe4ea4c15..c767d5bc1a 100644 --- a/mkspecs/features/winrt/font_deployment.prf +++ b/mkspecs/features/winrt/font_deployment.prf @@ -54,7 +54,9 @@ if(!build_pass:equals(TEMPLATE, "vcapp")) { } !isEmpty(FONTS):winphone:equals(TEMPLATE, "vcapp"):build_pass { - fonts.files = $$OUT_PWD/fonts/* + for (FONT, FONTS) { + fonts.files += $$OUT_PWD/fonts/$$basename(FONT) + } fonts.path = fonts DEPLOYMENT += fonts } -- cgit v1.2.3 From 7c12cd0ebb465b6d0714a22d5630872e600be654 Mon Sep 17 00:00:00 2001 From: Andrew Knight Date: Tue, 29 Apr 2014 09:47:24 +0300 Subject: Windows Phone: add language control to the package manifest This allows the developer to provide a list of languages to the manifest by listing them in WINRT_MANIFEST.languages. It also allows setting the default language with WINRT_MANIFEST.default_language. Task-number: QTBUG-38557 Change-Id: I5cb94c9f45146e3068d0833b9e669dc17dca14b2 Reviewed-by: Oliver Wolff --- .../winrt_winphone/manifests/8.0/WMAppManifest.xml.in | 2 +- mkspecs/features/winrt/package_manifest.prf | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in index 5efb9c7b06..18d37cf7fc 100644 --- a/mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in +++ b/mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in @@ -1,6 +1,6 @@ - + $${WINRT_MANIFEST.languages} " + + WINRT_MANIFEST.languages = \ + $$join(MANIFEST_LANGUAGES, $$INDENT, \ + "$$escape_expand(\\r\\n) $$INDENT", \ + "$$escape_expand(\\r\\n) ") + } + # Capabilities are given as a string list and may change with the configuration (network, sensors, etc.) WINRT_MANIFEST.capabilities = $$unique(WINRT_MANIFEST.capabilities) WINRT_MANIFEST.capabilities_device = $$unique(WINRT_MANIFEST.capabilities_device) -- cgit v1.2.3 From 91ef3966bd7921a059d9828d26c228877ab351e2 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 22 Apr 2014 13:27:10 +0200 Subject: fix list of cached module variables makes configure -fully-process less broken. Change-Id: I7d22898b1e6994eb46359afca3fc4ad08e334946 Reviewed-by: Joerg Bornemann Reviewed-by: Oswald Buddenhagen Reviewed-by: Martin Jansa --- mkspecs/features/qt_module_pris.prf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf index f31bc38c75..aba720238f 100644 --- a/mkspecs/features/qt_module_pris.prf +++ b/mkspecs/features/qt_module_pris.prf @@ -177,9 +177,8 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri include($$mod_work_pfx/qt_lib_$${pri}.pri) for(mod, mods_to_load) { for(var, $$list(VERSION MAJOR_VERSION MINOR_VERSION PATCH_VERSION \ - name depends module_config CONFIG DEFINES sources \ + name depends run_depends plugin_types module_config CONFIG DEFINES \ includes bins libs libexecs plugins imports qml \ - rpath_link \ )):defined(QT.$${mod}.$$var, var):cache(QT.$${mod}.$$var, transient) } cache(QT_MODULES, transient) -- cgit v1.2.3 From bc563a02b2a7fde1f93c1746a1de3a4ab749e763 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 16 Apr 2014 21:58:20 +0200 Subject: don't create a trailing space when PLUGIN_EXTENDS is empty Change-Id: Ia6a11721419e043bc08e38b5e6c6dfd71315eca2 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_plugin.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index 52567eaff0..b012278bde 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -38,7 +38,7 @@ CONFIG(static, static|shared) { !build_pass { MODULE_PRI_CONT = \ "QT_PLUGIN.$${MODULE}.TYPE = $$PLUGIN_TYPE" \ - "QT_PLUGIN.$${MODULE}.EXTENDS = $$PLUGIN_EXTENDS" \ + "QT_PLUGIN.$${MODULE}.EXTENDS =$$join(PLUGIN_EXTENDS, " ", " ")" \ "QT_PLUGIN.$${MODULE}.CLASS_NAME = $$PLUGIN_CLASS_NAME" \ "QT_PLUGINS += $$MODULE" write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.") -- cgit v1.2.3 From 5c05534a63f3ce97530b3827533ba9a0f4e2d57c Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 29 Apr 2014 19:24:00 +0200 Subject: fix qtmain's .prl file not being used at some point we stopped adding the qtmain's library path before its respective -l flag, which lead to qmake being unable to resolve the library location and thus ignoring its prl file. Change-Id: I390a31f8ac2877d3823dfd2787b2cc8c696b0ec0 Reviewed-by: Friedemann Kleint Reviewed-by: Joerg Bornemann Reviewed-by: Oswald Buddenhagen --- mkspecs/features/win32/windows.prf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf index 6d8289d949..f19a42b7e2 100644 --- a/mkspecs/features/win32/windows.prf +++ b/mkspecs/features/win32/windows.prf @@ -7,6 +7,8 @@ contains(TEMPLATE, ".*app"){ qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { isEqual(entryLib, -lqtmain): { + !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \ + QMAKE_LIBS += -L$$QT.core.libs CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX} } else { -- cgit v1.2.3 From e5024c219fffa972e087a684bacef240082dca82 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 29 Apr 2014 20:15:21 +0200 Subject: untangle use of system vs. shell path(-list) semantics "system" refers to the system's native shell, which is what qmake's system() invokes, and whose convention by far most commands invoked from a makefile will need. "shell" refers to the shell invoked by make, which diverges from the system shell only when qmake/mingw32-make is called from an msys shell. its conventions need to be used for anything the shell itself does (e.g., assembling env variables, but also command line argument unquoting) and the commands the mkspec sets according to the shell (e.g., QMAKE_MOVE). Change-Id: I0000aa9417c199cf8a810619d31ded24bb0675f9 Reviewed-by: Joerg Bornemann --- mkspecs/features/default_post.prf | 4 ++-- mkspecs/features/incredibuild_xge.prf | 2 +- mkspecs/features/java.prf | 2 +- mkspecs/features/qt_functions.prf | 2 +- mkspecs/features/testcase.prf | 2 +- mkspecs/features/win32/windeployqt.prf | 6 +++--- 6 files changed, 9 insertions(+), 9 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 938670b2a8..6fb140b252 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -83,8 +83,8 @@ silent { breakpad { load(resolve_target) - DEBUGFILENAME = $$shell_quote($$shell_path($$QMAKE_RESOLVED_TARGET)) - PROJECTPATH = $$shell_quote($$shell_path($$OUT_PWD)) + DEBUGFILENAME = $$shell_quote($$system_path($$QMAKE_RESOLVED_TARGET)) + PROJECTPATH = $$shell_quote($$system_path($$OUT_PWD)) !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t) QMAKE_POST_LINK = $$QMAKE_POST_LINK$$quote($${QT_BREAKPAD_ROOT_PATH}$${QMAKE_DIR_SEP}qtbreakpadsymbols $$DEBUGFILENAME $$PROJECTPATH) diff --git a/mkspecs/features/incredibuild_xge.prf b/mkspecs/features/incredibuild_xge.prf index b43ecf2809..75c7a9a75b 100644 --- a/mkspecs/features/incredibuild_xge.prf +++ b/mkspecs/features/incredibuild_xge.prf @@ -3,6 +3,6 @@ contains(TEMPLATE, "vc.*") { EOC = $$escape_expand(\\r\\h) for(xge, INCREDIBUILD_XGE) { - $${xge}.commands = Rem IncrediBuild_AllowRemote $$EOC Rem IncrediBuild_OutputFile $$shell_path($${xge}.output) $$EOC $$eval($${xge}.commands) + $${xge}.commands = Rem IncrediBuild_AllowRemote $$EOC Rem IncrediBuild_OutputFile $$system_path($${xge}.output) $$EOC $$eval($${xge}.commands) } } diff --git a/mkspecs/features/java.prf b/mkspecs/features/java.prf index eeaafcc883..790724cec9 100644 --- a/mkspecs/features/java.prf +++ b/mkspecs/features/java.prf @@ -44,7 +44,7 @@ CONFIG += plugin no_plugin_name_prefix javac.input = JAVASOURCES javac.output = $$CLASS_DIR javac.CONFIG += combine -javac.commands = javac -source 6 -target 6 -Xlint:unchecked -bootclasspath $$ANDROID_JAR_FILE -cp $$shell_quote($$shell_path($$join(JAVACLASSPATH, $$QMAKE_DIRLIST_SEP))) -d $$shell_quote($$CLASS_DIR) ${QMAKE_FILE_IN} +javac.commands = javac -source 6 -target 6 -Xlint:unchecked -bootclasspath $$ANDROID_JAR_FILE -cp $$shell_quote($$system_path($$join(JAVACLASSPATH, $$DIRLIST_SEP))) -d $$shell_quote($$CLASS_DIR) ${QMAKE_FILE_IN} # Force rebuild every time, because we don't know the paths of the destination files # as they depend on the code. javac.depends = FORCE diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 1dacfedd02..64b9fee361 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -210,7 +210,7 @@ defineTest(qtPrepareTool) { $$1$$3 = $$system_path($$eval($$1)) qtAddTargetEnv($$1$$3, QT_TOOL.$${2}.depends, system) } - $$1 = $$shell_path($$eval($$1)) + $$1 = $$system_path($$eval($$1)) qtAddTargetEnv($$1, QT_TOOL.$${2}.depends, ) } diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf index 40ec7cff30..6656d1b898 100644 --- a/mkspecs/features/testcase.prf +++ b/mkspecs/features/testcase.prf @@ -22,7 +22,7 @@ debug_and_release:debug_and_release_target { } !isEmpty(TESTRUN_CWD):!contains(TESTRUN_CWD,^\\./?): \ - check.commands = cd $$system_path($$TESTRUN_CWD) && + check.commands = cd $$shell_path($$TESTRUN_CWD) && # Allow for a custom test runner script check.commands += $(TESTRUNNER) diff --git a/mkspecs/features/win32/windeployqt.prf b/mkspecs/features/win32/windeployqt.prf index f49df47ffe..22253f6299 100644 --- a/mkspecs/features/win32/windeployqt.prf +++ b/mkspecs/features/win32/windeployqt.prf @@ -3,9 +3,9 @@ qtPrepareTool(QMAKE_WINDEPLOYQT, windeployqt) build_pass { load(resolve_target) - isEmpty(WINDEPLOYQT_OPTIONS): WINDEPLOYQT_OPTIONS = -qmldir $$shell_quote($$shell_path($$_PRO_FILE_PWD_)) - WINDEPLOYQT_TARGET = $$shell_quote($$shell_path($$QMAKE_RESOLVED_TARGET)) - WINDEPLOYQT_OUTPUT = $$shell_quote($$shell_path($$dirname(QMAKE_RESOLVED_TARGET)/$$basename(TARGET).windeployqt)) + isEmpty(WINDEPLOYQT_OPTIONS): WINDEPLOYQT_OPTIONS = -qmldir $$shell_quote($$system_path($$_PRO_FILE_PWD_)) + WINDEPLOYQT_TARGET = $$shell_quote($$system_path($$QMAKE_RESOLVED_TARGET)) + WINDEPLOYQT_OUTPUT = $$shell_quote($$system_path($$dirname(QMAKE_RESOLVED_TARGET)/$$basename(TARGET).windeployqt)) windeployqt.target = windeployqt windeployqt.commands = $$QMAKE_WINDEPLOYQT $$WINDEPLOYQT_OPTIONS -list target $$WINDEPLOYQT_TARGET > $$WINDEPLOYQT_OUTPUT -- cgit v1.2.3 From f73b9e4af8d410a54ea38385d9f1a0fe99ddedf4 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 29 Apr 2014 20:25:43 +0200 Subject: make QMAKE_DIRLIST_SEP consistent with QMAKE_DIR_SEP that is, make it match the shell used by the make command. this is unlike DIRLIST_SEPARATOR and DIR_SEPARATOR, which always match the actual system shell. Change-Id: I0fb277d75b32be029808623a3b77e1358c4e265e Reviewed-by: Joerg Bornemann --- mkspecs/android-g++/qmake.conf | 1 + mkspecs/common/qcc-base-qnx.conf | 1 + mkspecs/win32-g++/qmake.conf | 1 + 3 files changed, 3 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 44624fcca5..608e64f3d4 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -26,6 +26,7 @@ contains(QMAKE_HOST.os,Windows) { } else { MINGW_IN_SHELL = 1 QMAKE_DIR_SEP = / + QMAKE_DIRLIST_SEP = : # Because install's ability to set permissions is not relevant on Windows, # and git's msys does not provide it to start with. QMAKE_INSTALL_FILE = cp -f diff --git a/mkspecs/common/qcc-base-qnx.conf b/mkspecs/common/qcc-base-qnx.conf index 0954cfd1ee..a0a88b9605 100644 --- a/mkspecs/common/qcc-base-qnx.conf +++ b/mkspecs/common/qcc-base-qnx.conf @@ -57,4 +57,5 @@ QMAKE_STRIPFLAGS_LIB += --strip-unneeded equals(QMAKE_HOST.os, Windows) { isEmpty(QMAKE_SH): error("This mkspec requires an MSYS environment.") QMAKE_DIR_SEP = / + QMAKE_DIRLIST_SEP = : } diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index 1ac35611f5..830dde97e9 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -93,6 +93,7 @@ QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain !isEmpty(QMAKE_SH) { MINGW_IN_SHELL = 1 QMAKE_DIR_SEP = / + QMAKE_DIRLIST_SEP = : include(../common/shell-unix.conf) # Because install's ability to set permissions is not relevant on Windows, # and git's msys does not provide it to start with. -- cgit v1.2.3