summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2020-01-04 15:32:34 +0100
committerLiang Qi <liang.qi@qt.io>2020-01-04 15:32:34 +0100
commita503bf54705d89204007e8f887b668fe5ef519fc (patch)
treeb2d1a452da39450eac78a1aeb1df116a73f64b23 /mkspecs/features
parente65c43fd0ffa57248e7d750570b7deae171a82f5 (diff)
parent1f87fb359fdff14e42662384a9c8a0bcb3837671 (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts: src/corelib/tools/qvector.h Make QVector(DataPointer dd) public to be able to properly merge 5b4b437b30b320e2cd7c9a566999a39772e5d431 from 5.15 into dev. src/widgets/kernel/qapplication.cpp tests/auto/tools/moc/allmocs_baseline_in.json Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de> Change-Id: I929ba7c036d570382d0454c2c75f6f0d96ddbc01
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/android/android.prf1
-rw-r--r--mkspecs/features/android/android_deployment_settings.prf5
-rw-r--r--mkspecs/features/metatypes.prf1
-rw-r--r--mkspecs/features/qt_configure.prf7
-rw-r--r--mkspecs/features/resources.prf10
-rw-r--r--mkspecs/features/resources_functions.prf25
-rw-r--r--mkspecs/features/wasm/default_pre.prf2
-rw-r--r--mkspecs/features/wasm/emcc_ver.prf23
-rw-r--r--mkspecs/features/wasm/wasm.prf5
9 files changed, 62 insertions, 17 deletions
diff --git a/mkspecs/features/android/android.prf b/mkspecs/features/android/android.prf
index fc0ff553d0..26374cabca 100644
--- a/mkspecs/features/android/android.prf
+++ b/mkspecs/features/android/android.prf
@@ -36,6 +36,7 @@ build_pass {
}
}
} else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
+ !contains(TARGET, "_$${QT_ARCH}"): TARGET = $${TARGET}_$${QT_ARCH}
target.path = /libs/$$ANDROID_TARGET_ARCH/
INSTALLS *= target
}
diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf
index e781eb024c..f375a687a9 100644
--- a/mkspecs/features/android/android_deployment_settings.prf
+++ b/mkspecs/features/android/android_deployment_settings.prf
@@ -63,11 +63,12 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-embedded {
QML_ROOT_PATH = $$_PRO_FILE_PWD_
FILE_CONTENT += " \"qml-root-path\": $$emitString($$QML_ROOT_PATH),"
FILE_CONTENT += " \"stdcpp-path\": $$emitString($$ANDROID_STDCPP_PATH),"
- !isEmpty(RESOURCES) {
+ !isEmpty(RESOURCES)|!isEmpty(QMLCACHE_RESOURCE_FILES) {
# Make sure that qmake generated qrc files are accounted for
load(resources_functions)
qtFlattenResources()
- for(resource, RESOURCES) {
+ NEWRESOURCES = $$RESOURCES $$QMLCACHE_RESOURCE_FILES
+ for(resource, NEWRESOURCES) {
contains(resource, ".*\\qmake_qmake_immediate.qrc$") {
# They will be created for each architecture, since they could be different
# we need to account for all of them
diff --git a/mkspecs/features/metatypes.prf b/mkspecs/features/metatypes.prf
index c2eb8d8659..59ef914f63 100644
--- a/mkspecs/features/metatypes.prf
+++ b/mkspecs/features/metatypes.prf
@@ -35,6 +35,7 @@ moc_collect_json.output = $$MOC_COLLECT_JSON_OUTPUT
moc_collect_json.name = Collect moc JSON output into central file
install_metatypes {
+ do_install_metatypes.CONFIG += no_check_exist
do_install_metatypes.path = $$[QT_INSTALL_LIBS]/metatypes
do_install_metatypes.files = $$OUT_PWD/$$MOC_COLLECT_JSON_OUTPUT
prefix_build {
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 7ed1f7f03a..6537d98c5d 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -666,6 +666,7 @@ defineTest(qtConfLibrary_inline) {
vars += $$eval(config.commandline.rev_assignments.$${iv})
defined(config.input.$${iv}, var) {
eval($${1}.builds.$${b} = $$eval(config.input.$${iv}))
+ export($${1}.builds.$${b})
$${1}.builds._KEYS_ *= $${b}
any = true
} else {
@@ -680,11 +681,14 @@ defineTest(qtConfLibrary_inline) {
export($${1}.builds._KEYS_)
# we also reset the generic libs, to avoid surprises.
$${1}.libs =
+ export($${1}.libs)
}
# direct libs. overwrites inline libs.
- defined(config.input.$${input}.libs, var): \
+ defined(config.input.$${input}.libs, var) {
eval($${1}.libs = $$eval(config.input.$${input}.libs))
+ export($${1}.libs)
+ }
includes = $$eval(config.input.$${input}.incdir)
@@ -693,6 +697,7 @@ defineTest(qtConfLibrary_inline) {
!isEmpty(prefix) {
includes += $$prefix/include
$${1}.libs = -L$$prefix/lib $$eval($${1}.libs)
+ export($${1}.libs)
}
libdir = $$eval(config.input.$${input}.libdir)
diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
index ca95768de8..cee0981db0 100644
--- a/mkspecs/features/resources.prf
+++ b/mkspecs/features/resources.prf
@@ -6,16 +6,6 @@ isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc
!contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT
!contains(QMAKE_RESOURCE_FLAGS, -name): QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE}
-# http://www.w3.org/TR/xml/#syntax
-defineReplace(xml_escape) {
- 1 ~= s,&,&amp;,
- 1 ~= s,\',&apos;,
- 1 ~= s,\",&quot;,
- 1 ~= s,<,&lt;,
- 1 ~= s,>,&gt;,
- return($$1)
-}
-
load(resources_functions)
qtFlattenResources()
diff --git a/mkspecs/features/resources_functions.prf b/mkspecs/features/resources_functions.prf
index f7fed9e524..b7a15fd1d9 100644
--- a/mkspecs/features/resources_functions.prf
+++ b/mkspecs/features/resources_functions.prf
@@ -1,5 +1,21 @@
+# http://www.w3.org/TR/xml/#syntax
+defineReplace(xml_escape) {
+ 1 ~= s,&,&amp;,
+ 1 ~= s,\',&apos;,
+ 1 ~= s,\",&quot;,
+ 1 ~= s,<,&lt;,
+ 1 ~= s,>,&gt;,
+ return($$1)
+}
+
defineTest(qtFlattenResources) {
- RESOURCES += qmake_immediate
+ immediate = qmake_immediate$$QMAKE_RESOURCES_IMMEDIATE_NR
+ defined(QMAKE_RESOURCES_IMMEDIATE_NR, var): \
+ QMAKE_RESOURCES_IMMEDIATE_NR = $$num_add($$QMAKE_RESOURCES_IMMEDIATE_NR, 1)
+ else: \
+ QMAKE_RESOURCES_IMMEDIATE_NR = 1
+
+ RESOURCES += $$immediate
for(resource, RESOURCES) {
# Regular case of user qrc file
contains(resource, ".*\\.qrc$"): \
@@ -7,10 +23,10 @@ defineTest(qtFlattenResources) {
# Fallback for stand-alone files/directories
!defined($${resource}.files, var) {
- !equals(resource, qmake_immediate) {
+ !equals(resource, $$immediate) {
!exists($$absolute_path($$resource, $$_PRO_FILE_PWD_)): \
warning("Failure to find: $$resource")
- qmake_immediate.files += $$resource
+ $${immediate}.files += $$resource
OTHER_FILES *= $$resource
}
RESOURCES -= $$resource
@@ -56,8 +72,9 @@ defineTest(qtFlattenResources) {
RESOURCES -= $$resource
RESOURCES += $$resource_file
}
+ export(QMAKE_RESOURCES_IMMEDIATE_NR)
export(RESOURCES)
export(OTHER_FILES)
- export(qmake_immediate.files)
+ export($${immediate}.files)
return(true)
}
diff --git a/mkspecs/features/wasm/default_pre.prf b/mkspecs/features/wasm/default_pre.prf
new file mode 100644
index 0000000000..2760889929
--- /dev/null
+++ b/mkspecs/features/wasm/default_pre.prf
@@ -0,0 +1,2 @@
+load(default_pre)
+load(emcc_ver)
diff --git a/mkspecs/features/wasm/emcc_ver.prf b/mkspecs/features/wasm/emcc_ver.prf
new file mode 100644
index 0000000000..505a321d64
--- /dev/null
+++ b/mkspecs/features/wasm/emcc_ver.prf
@@ -0,0 +1,23 @@
+defineReplace(qtEmccRecommendedVersion) {
+ return (1.38.27)
+}
+
+defineReplace(qtSystemEmccVersion) {
+ E_VERSION = $$system("emcc -v 2>&1 | perl -alne $$shell_quote($_ = $F[9]; s/://; print;) ")
+ return ($${E_VERSION})
+}
+
+defineTest(qtConfTest_emccVersion) {
+
+ REQ_VERSION = $$qtEmccRecommendedVersion()
+ EMCC_VERSION = $$qtSystemEmccVersion()
+
+ !defined(QT_EMCC_VERSION, var):!equals(EMCC_VERSION, $${REQ_VERSION}) {
+ warning ("You should use the recommended Emscripten version $$REQ_VERSION with this Qt. You have $${EMCC_VERSION} ")
+ }
+ contains(TEMPLATE, .*app) {
+ !equals(QT_EMCC_VERSION, $$EMCC_VERSION) {
+ warning("This Qt was built with Emscripten version $${QT_EMCC_VERSION}. You have $${EMCC_VERSION}. The difference may cause issues.")
+ }
+ }
+}
diff --git a/mkspecs/features/wasm/wasm.prf b/mkspecs/features/wasm/wasm.prf
index 5773e58010..2e886fc4a5 100644
--- a/mkspecs/features/wasm/wasm.prf
+++ b/mkspecs/features/wasm/wasm.prf
@@ -1,8 +1,11 @@
+
# DESTDIR will be empty if not set in the app .pro file; make sure it has a value
isEmpty(DESTDIR): DESTDIR = $$OUT_PWD
exists($$QMAKE_QT_CONFIG) {
+## this may be subject to change
+
qtConfig(thread) {
EMCC_THREAD_LFLAGS += -s USE_PTHREADS=1
@@ -109,6 +112,8 @@ contains(TEMPLATE, .*app) {
}
}
+qtConfTest_emccVersion()
+
# Pass --source-map-base on the linker line. This informs the
# browser where to find the source files when debugging.
WASM_SOURCE_MAP_BASE = http://localhost:8000/