diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/qcc-base-qnx.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/uikit.conf | 2 | ||||
-rw-r--r-- | mkspecs/features/android/android.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/android/android_deployment_settings.prf | 5 | ||||
-rw-r--r-- | mkspecs/features/metatypes.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/qt_configure.prf | 7 | ||||
-rw-r--r-- | mkspecs/features/resources.prf | 10 | ||||
-rw-r--r-- | mkspecs/features/resources_functions.prf | 25 | ||||
-rw-r--r-- | mkspecs/features/wasm/default_pre.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/wasm/emcc_ver.prf | 23 | ||||
-rw-r--r-- | mkspecs/features/wasm/wasm.prf | 5 | ||||
-rw-r--r-- | mkspecs/macx-xcode/default.xcscheme | 2 | ||||
-rw-r--r-- | mkspecs/wasm-emscripten/qmake.conf | 6 |
13 files changed, 73 insertions, 18 deletions
diff --git a/mkspecs/common/qcc-base-qnx.conf b/mkspecs/common/qcc-base-qnx.conf index 21ce269006..4725371c29 100644 --- a/mkspecs/common/qcc-base-qnx.conf +++ b/mkspecs/common/qcc-base-qnx.conf @@ -4,6 +4,8 @@ include(qcc-base.conf) +isEmpty(QMAKE_WAYLAND_SCANNER): QMAKE_WAYLAND_SCANNER = $$(QNX_HOST)/usr/bin/wayland-scanner + QMAKE_PLATFORM = qnx $$QMAKE_PLATFORM QMAKE_LFLAGS_SHLIB += -shared diff --git a/mkspecs/common/uikit.conf b/mkspecs/common/uikit.conf index 0388b8e616..424381e285 100644 --- a/mkspecs/common/uikit.conf +++ b/mkspecs/common/uikit.conf @@ -7,4 +7,6 @@ CONFIG += bitcode reduce_exports shallow_bundle no_qt_rpath INCLUDEPATH += $$PWD/uikit +DEFINES += GLES_SILENCE_DEPRECATION + include(mac.conf) 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,&,&, - 1 ~= s,\',', - 1 ~= s,\",", - 1 ~= s,<,<, - 1 ~= s,>,>, - 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,&,&, + 1 ~= s,\',', + 1 ~= s,\",", + 1 ~= s,<,<, + 1 ~= s,>,>, + 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/ diff --git a/mkspecs/macx-xcode/default.xcscheme b/mkspecs/macx-xcode/default.xcscheme index 170174ed2b..355765e964 100644 --- a/mkspecs/macx-xcode/default.xcscheme +++ b/mkspecs/macx-xcode/default.xcscheme @@ -64,6 +64,8 @@ buildConfiguration = "Debug" ignoresPersistentStateOnLaunch = "NO" disableMainThreadChecker = "YES" + enableGPUFrameCaptureMode = "3" + enableGPUValidationMode = "1" debugDocumentVersioning = "NO" allowLocationSimulation = "YES"> <BuildableProductRunnable> diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf index 919dcfb214..d520ce361a 100644 --- a/mkspecs/wasm-emscripten/qmake.conf +++ b/mkspecs/wasm-emscripten/qmake.conf @@ -6,6 +6,7 @@ include(../common/gcc-base.conf) include(../common/clang.conf) load(device_config) +load(emcc_ver) # Support setting WASM_OBJECT_FILES with -device-option WASM_OBJECT_FILES=1 !isEmpty(WASM_OBJECT_FILES): { @@ -15,7 +16,10 @@ load(device_config) QMAKE_CXXFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES QMAKE_LFLAGS += -s WASM_OBJECT_FILES=$$WASM_OBJECT_FILES } else { - EMCC_COMMON_LFLAGS += -s \"BINARYEN_TRAP_MODE=\'clamp\'\" + EMSCRIPTEN_VERSION=$$qtSystemEmccVersion() + lessThan(EMSCRIPTEN_VERSION, 1.39) { + EMCC_COMMON_LFLAGS += -s \"BINARYEN_TRAP_MODE=\'clamp\'\" + } } EMTERP_FLAGS = \ |