summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/create_cmake.prf2
-rw-r--r--mkspecs/features/default_pre.prf8
-rw-r--r--mkspecs/features/module.prf2
-rw-r--r--mkspecs/features/qt.prf61
-rw-r--r--mkspecs/features/qt_config.prf2
-rw-r--r--mkspecs/features/qt_functions.prf4
-rw-r--r--mkspecs/features/qt_module.prf2
-rw-r--r--mkspecs/features/qt_module_config.prf32
-rw-r--r--mkspecs/features/testcocoon.prf2
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.