diff options
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/create_cmake.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/default_pre.prf | 8 | ||||
-rw-r--r-- | mkspecs/features/module.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 61 | ||||
-rw-r--r-- | mkspecs/features/qt_config.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_functions.prf | 4 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_module_config.prf | 32 | ||||
-rw-r--r-- | mkspecs/features/testcocoon.prf | 2 |
9 files changed, 69 insertions, 46 deletions
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index 1aa8ae5544..6a8045ab3b 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf @@ -24,7 +24,7 @@ CMAKE_PARTIAL_MODULE_DEPS = $$replace(CMAKE_MODULE_DEPS, ";", ";Qt5::") CMAKE_QT_INSTALL_PREFIX = $$replace($$list($$[QT_INSTALL_PREFIX]), \\\\, /)/ CMAKE_QT_INSTALL_PREFIX_ESCAPED = "^$$re_escape($$CMAKE_QT_INSTALL_PREFIX)" -CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS] +CMAKE_INCLUDE_DIR = $$replace($$list($$[QT_INSTALL_HEADERS]), \\\\, /)/ contains(CMAKE_INCLUDE_DIR, "$${CMAKE_QT_INSTALL_PREFIX_ESCAPED}.*") { CMAKE_INCLUDE_DIR = $$replace(CMAKE_INCLUDE_DIR, "$$CMAKE_QT_INSTALL_PREFIX_ESCAPED", ) } else { diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf index 1a56787d15..5d8684bf00 100644 --- a/mkspecs/features/default_pre.prf +++ b/mkspecs/features/default_pre.prf @@ -26,10 +26,10 @@ CONFIG = lex yacc warn_on debug uic resources $$CONFIG # can we tell syncqt to do a -developer-build win32 { CMP_QDIR = $$upper($$QTDIR) - CMP_INSTALL_PREFIX = $$upper($$[QT_INSTALL_PREFIX]) + CMP_INSTALL_PREFIX = $$upper($$[QT_HOST_PREFIX]) } else { CMP_QDIR = $$QTDIR - CMP_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX] + CMP_INSTALL_PREFIX = $$[QT_HOST_PREFIX] } contains(CMP_QDIR, $$CMP_INSTALL_PREFIX):QTFWD = -qtdir $$QTDIR -module-fwd $$QTDIR/mkspecs/modules -developer-build unset(CMP_QDIR) @@ -46,6 +46,10 @@ CONFIG = lex yacc warn_on debug uic resources $$CONFIG } else { error("Failed to run: $$MSG") } + + # Let qmake know about the unexpectedly appearing cache file. + contains(QTFWD, -cache-module-fwd):_QMAKE_CACHE_ = $$QMAKE_SYNCQT_OUTDIR/.qmake.cache + unset(QTFWD) unset(PRO_BASENAME) } diff --git a/mkspecs/features/module.prf b/mkspecs/features/module.prf index 85639f0345..d95c7a418d 100644 --- a/mkspecs/features/module.prf +++ b/mkspecs/features/module.prf @@ -1,5 +1,5 @@ !isEmpty(MODULE_PRI) { - pritarget.path = $$[QT_INSTALL_DATA]/mkspecs/modules + pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules pritarget.files = $$MODULE_PRI INSTALLS += pritarget } else { diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 6081342929..21443aa5b5 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -1,5 +1,32 @@ CONFIG *= moc thread +# Temporary fixes to avoid QDeclarative -> QQml breakage: + +# Projects depending on declarative will now get the full set of +# -DOldSymbol=NewSymbol definitions added to their configuration +# so that the old symbol names still compile. All code previously +# in the declarative library is now in the qml library. +contains(QT, qmldevtools):!contains(QT, declarative) { + QT += declarative +} +contains(QT, qmldevtools-private):!contains(QT, declarative-private) { + QT += declarative-private +} + +contains(QT, quick):!contains(QT, declarative) { + QT += declarative +} +contains(QT, quick-private):!contains(QT, declarative-private) { + QT += declarative-private +} + +contains(QT, declarative):!contains(QT, qml) { + QT += qml +} +contains(QT, declarative-private):!contains(QT, qml-private) { + QT += qml-private +} + #handle defines win32 { qt_static:DEFINES += QT_NODLL @@ -125,21 +152,22 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) { !isEmpty(QT_BUILD_TREE):QMAKE_LIBDIR = $$QT_BUILD_TREE/lib $$QMAKE_LIBDIR #as above, prepending prevents us from picking up "stale" libs QMAKE_LIBDIR += $$QMAKE_LIBDIR_QT -# Topological ordering of modules based on their QT.<module>.depends variable -QT = $$sort_depends(QT, "QT.") - -QT_DEPENDS= - +# Figure out from which modules we're wanting to use the private headers unset(using_privates) +NEWQT = for(QTLIB, QT) { - # Figure out if we're wanting to use the private headers of a module - contains(QTLIB, .*-private) { - QTLIB ~= s/-private// - use_private = UsePrivate - } else { - use_private = NoPrivate + QTLIBRAW = $$replace(QTLIB, -private$, ) + !isEqual(QTLIBRAW, $$QTLIB) { + want_var = QT.$${QTLIBRAW}.want_private + $$want_var = UsePrivate + using_privates = true } - + NEWQT += $$QTLIBRAW +} +# Topological resolution of modules based on their QT.<module>.depends variable +QT = $$resolve_depends(NEWQT, "QT.") +# Finally actually add the modules +for(QTLIB, QT) { isEmpty(QT.$${QTLIB}.name) { message("Warning: unknown QT module: $$QTLIB") next() @@ -149,14 +177,9 @@ for(QTLIB, QT) { warning($$TARGET cannot have a QT of $$QTLIB) next() } - qtAddModule($$QTLIB, $$use_private) - QT_DEPENDS += $$eval(QT.$${QTLIB}.depends) - isEqual(use_private, UsePrivate):using_privates = true -} -# add include paths for all .depends, since module/application might need f.ex. template specializations etc. -QT_DEPENDS -= $$QT -for(QTLIB, $$list($$lower($$unique(QT_DEPENDS)))):INCLUDEPATH *= $$INCLUDEPATH $$eval(QT.$${QTLIB}.includes) + qtAddModule($$QTLIB, $$eval(QT.$${QTLIB}.want_private)) +} !isEmpty(using_privates):!no_private_qt_headers_warning:if(!debug_and_release|!build_pass) { message("This project is using private headers and will therefore be tied to this specific Qt module build version.") diff --git a/mkspecs/features/qt_config.prf b/mkspecs/features/qt_config.prf index 8441728815..8d0dcce92c 100644 --- a/mkspecs/features/qt_config.prf +++ b/mkspecs/features/qt_config.prf @@ -8,7 +8,7 @@ exists($$_QMAKE_CACHE_) { isEmpty(QMAKE_QT_CONFIG)|!exists($$QMAKE_QT_CONFIG) { !isEmpty(QT_BUILD_TREE):QMAKE_QT_CONFIG = $$QT_BUILD_TREE else:exists($$_QMAKE_CACHE_):QMAKE_QT_CONFIG = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE) - isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$[QT_INSTALL_DATA] + isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$[QT_HOST_DATA] QMAKE_QT_CONFIG = $$QMAKE_QT_CONFIG/mkspecs/qconfig.pri } !exists($$QMAKE_QT_CONFIG)|!include($$QMAKE_QT_CONFIG, "", true) { diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 65eec35bfc..31b28156e8 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -132,7 +132,7 @@ defineTest(qtAddModule) { isEmpty(LINKAGE) { # Make sure we can link to uninstalled libraries - !isEqual(MODULE_LIBS, $$[QT_INSTALL_LIBS]) { + !isEqual(MODULE_LIBS, $$[QT_INSTALL_LIBS]) { ### XXX QMAKE_LIBDIR *= $$MODULE_LIBS unix:!mac:QMAKE_LFLAGS *= "-Wl,-rpath-link,$$MODULE_LIBS" } @@ -164,7 +164,7 @@ defineTest(qtAddModule) { # variable, default defineTest(qtPrepareTool) { - MODBASE = $$[QT_INSTALL_BINS] + MODBASE = $$[QT_HOST_BINS] !isEmpty(QT_BUILD_TREE):MODBASE = $$QT_BUILD_TREE/bin count(ARGS, 2, greaterThan) { isEmpty(QT.$${3}.bins):warning("No QT.$${3}.bins, module path ignored for qtPrepareTool($$1, $$2, $$3)") diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index aee95295e8..b71ef61252 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -8,7 +8,7 @@ isEmpty(QMAKE_QT_MODULE)|!exists($$QMAKE_QT_MODULE) { !exists($$QMAKE_QT_MODULE):exists($$QMAKE_CACHE_DIR/mkspecs/qmodule.pri):QMAKE_QT_MODULE = $$QMAKE_CACHE_DIR/mkspecs/qmodule.pri !exists($$QMAKE_QT_MODULE):exists($$QMAKE_CACHE_DIR/qtbase/mkspecs/qmodule.pri):QMAKE_QT_MODULE = $$QMAKE_CACHE_DIR/qtbase/mkspecs/qmodule.pri !exists($$QMAKE_QT_MODULE):if(!isEmpty(QT_BUILD_TREE) & exists($$QT_BUILD_TREE/mkspecs/qmodule.pri)):QMAKE_QT_MODULE = $$QT_BUILD_TREE/mkspecs/qmodule.pri - !exists($$QMAKE_QT_MODULE):exists($$[QT_INSTALL_DATA]/mkspecs/qmodule.pri):QMAKE_QT_MODULE = $$[QT_INSTALL_DATA]/mkspecs/qmodule.pri + !exists($$QMAKE_QT_MODULE):exists($$[QT_HOST_DATA]/mkspecs/qmodule.pri):QMAKE_QT_MODULE = $$[QT_HOST_DATA]/mkspecs/qmodule.pri } !contains(QMAKE_INTERNAL_INCLUDED_FILES, .*qmodule\\.pri) { diff --git a/mkspecs/features/qt_module_config.prf b/mkspecs/features/qt_module_config.prf index a8439198df..98cdab121f 100644 --- a/mkspecs/features/qt_module_config.prf +++ b/mkspecs/features/qt_module_config.prf @@ -116,31 +116,27 @@ embedded:DEPENDPATH += ;$$EMBEDDED_H #install directives load(qt_installs) -unix { - CONFIG += create_libtool create_pc explicitlib - QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PRL_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET - QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS] +unix|win32-g++* { + CONFIG += create_pc + QMAKE_PKGCONFIG_LIBDIR = $$[QT_RAW_INSTALL_LIBS] + QMAKE_PKGCONFIG_INCDIR = $$[QT_RAW_INSTALL_HEADERS]/$$TARGET + QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_RAW_INSTALL_HEADERS] QMAKE_PKGCONFIG_DESTDIR = pkgconfig include_replace.match = $$QMAKE_INCDIR_QT - include_replace.replace = $$[QT_INSTALL_HEADERS] + include_replace.replace = $$[QT_RAW_INSTALL_HEADERS] lib_replace.match = $$QMAKE_LIBDIR_QT - lib_replace.replace = $$[QT_INSTALL_LIBS] + lib_replace.replace = $$[QT_RAW_INSTALL_LIBS] prefix_replace.match = $$QT_BUILD_TREE - prefix_replace.replace = $$[QT_INSTALL_PREFIX] - QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace - QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace + prefix_replace.replace = $$[QT_RAW_INSTALL_PREFIX] QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace } -win32-g++* { - CONFIG += create_pc - QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET - QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS] - QMAKE_PKGCONFIG_DESTDIR = pkgconfig +unix { + CONFIG += create_libtool explicitlib + QMAKE_PRL_LIBDIR = $$[QT_RAW_INSTALL_LIBS] ### XXX + QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace + QMAKE_LIBTOOL_LIBDIR = $$[QT_RAW_INSTALL_LIBS] + QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace } contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE diff --git a/mkspecs/features/testcocoon.prf b/mkspecs/features/testcocoon.prf index e6ad733540..523497dba1 100644 --- a/mkspecs/features/testcocoon.prf +++ b/mkspecs/features/testcocoon.prf @@ -11,10 +11,10 @@ TARGET_BASENAME = $$basename(QMAKE_RESOLVED_TARGET) # --cs-output defines the name to give to the execution report (.csexe). TESTCOCOON_COVERAGE_OPTIONS = \ --cs-qt4 \ - --cs-exclude-file-regex=\'(^|[/\\\\])ui_.*\\.h\$\$\' \ --cs-exclude-file-regex=\'(^|[/\\\\])(qrc|moc)_.*\\.cpp\$\$\' \ --cs-exclude-file-regex=\'.*\\.moc\$\$\' \ --cs-exclude-file-regex=\'.*\\.g\$\$\' \ + --cs-exclude-file-regex=\'.*\\.h\$\$\' \ --cs-output=\'$$TARGET_BASENAME\' # name of the csexe file (execution report) # The .csmes file should be placed alongside the .so or binary. |