From d6d80ff2e925c5c52de498535cfdb808b3bd3670 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 21 Feb 2019 16:43:58 +0100 Subject: Automatic resources: Fix tooling support The files to be put into an auto-generated qrc file must not simply disappear, because IDE users still need to have them in the project tree. So we add them to OTHER_FILES now. Task-number: QTCREATORBUG-20103 Task-number: QTCREATORBUG-20104 Change-Id: I8a9136491f975def7c33385e375c407815ad269a Reviewed-by: hjk Reviewed-by: Joerg Bornemann --- mkspecs/features/resources.prf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf index bb2a55b93d..b4e0db6445 100644 --- a/mkspecs/features/resources.prf +++ b/mkspecs/features/resources.prf @@ -28,6 +28,7 @@ for(resource, RESOURCES) { !exists($$absolute_path($$resource, $$_PRO_FILE_PWD_)): \ warning("Failure to find: $$resource") qmake_immediate.files += $$resource + OTHER_FILES *= $$resource } RESOURCES -= $$resource next() @@ -57,6 +58,7 @@ for(resource, RESOURCES) { alias = $$relative_path($$file, $$abs_base) resource_file_content += \ "$$xml_escape($$file)" + OTHER_FILES *= $$file } } -- cgit v1.2.3 From d2dff76a4fc2c28bf204db183230ffa1b86cbf43 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Mon, 18 Mar 2019 09:51:35 +0100 Subject: Replace instances of - with _ when generating the function name As - cannot be used in a function name but can still be used as part of the TARGET, then we need to make sure that it is replaced to avoid a compile problem. Change-Id: I0b2e465310206e2522ce59235b1592517817d3e2 Reviewed-by: Joerg Bornemann --- mkspecs/features/resources.prf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf index b4e0db6445..fa8ff1fb58 100644 --- a/mkspecs/features/resources.prf +++ b/mkspecs/features/resources.prf @@ -75,9 +75,11 @@ for(resource, RESOURCES) { } !isEmpty(RESOURCES):contains(TEMPLATE, .*lib):plugin:static { - resource_init_function = $$lower($$basename(TARGET))_plugin_resource_init + pluginBaseName = $$basename(TARGET) + pluginName = $$lower($$replace(pluginBaseName, [-], _)) + resource_init_function = $${pluginName}_plugin_resource_init DEFINES += "QT_PLUGIN_RESOURCE_INIT_FUNCTION=$$resource_init_function" - RESOURCE_INIT_CPP = $$OUT_PWD/$$lower($$basename(TARGET))_plugin_resources.cpp + RESOURCE_INIT_CPP = $$OUT_PWD/$${pluginName}_plugin_resources.cpp GENERATED_SOURCES += $$RESOURCE_INIT_CPP QMAKE_DISTCLEAN += $$RESOURCE_INIT_CPP -- cgit v1.2.3 From 3ca05b2a2e80863202bdb6a225f72debbb28b8fe Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 19 Mar 2019 08:48:47 +0100 Subject: Wasm: Build with Qt's freetype, png and zlib Compilation breaks on Windows and macOS hosts with USE_ZLIB=1. In addition, it turns out that the versions of the libraries in Emscripten Ports are outdated. Since we have newer versions of these libraries in Qt already, we will just use those. This is a revert of 70b558ad5b7972178b990b33cbd73694775b265f. Task-number: QTQAINFRA-2835 Change-Id: Ic2642b7d319a3447fd08843657eb0535255e0449 Reviewed-by: Lorn Potter --- mkspecs/wasm-emscripten/qmake.conf | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf index 855d84c039..c80f2bfb92 100644 --- a/mkspecs/wasm-emscripten/qmake.conf +++ b/mkspecs/wasm-emscripten/qmake.conf @@ -32,15 +32,6 @@ EMCC_COMMON_LFLAGS = \ --bind \ -s \"BINARYEN_TRAP_MODE=\'clamp\'\" -EMCC_USE_PORTS_FLAGS = \ - -s USE_FREETYPE=1 \ - -s USE_ZLIB=1 - -# libpng does not build for WASM_OBJECT_FILES=1, see -# https://github.com/emscripten-core/emscripten/issues/8143 -equals(WASM_OBJECT_FILES, 0):\ - EMCC_USE_PORTS_FLAGS += -s USE_LIBPNG=1 - # The -s arguments can also be used with release builds, # but are here in debug for clarity. EMCC_COMMON_LFLAGS_DEBUG = \ @@ -87,9 +78,6 @@ QMAKE_COMPILER += emscripten QMAKE_CC = emcc QMAKE_CXX = em++ -QMAKE_CFLAGS += $$EMCC_USE_PORTS_FLAGS -QMAKE_CXXFLAGS += $$EMCC_USE_PORTS_FLAGS - QMAKE_LINK = $$QMAKE_CXX QMAKE_LINK_SHLIB = $$QMAKE_CXX QMAKE_LINK_C = $$QMAKE_CC -- cgit v1.2.3 From 75b3c471b3acea8fd0531dc38913181b1bcd941d Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Mon, 18 Mar 2019 17:11:15 +0800 Subject: win32-clang-msvc: qmake.conf: Fix alignment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I62bff5e10c0dfb45078a9ff5a2378f251c6596aa Reviewed-by: MÃ¥rten Nordheim --- mkspecs/win32-clang-msvc/qmake.conf | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/win32-clang-msvc/qmake.conf b/mkspecs/win32-clang-msvc/qmake.conf index c639ad6f3d..4b9cac3e22 100644 --- a/mkspecs/win32-clang-msvc/qmake.conf +++ b/mkspecs/win32-clang-msvc/qmake.conf @@ -13,19 +13,19 @@ QMAKE_CFLAGS_SSE4_1 = -msse4.1 QMAKE_CFLAGS_SSE4_2 = -msse4.2 QMAKE_CFLAGS_AVX = -mavx QMAKE_CFLAGS_AVX2 = -mavx2 -QMAKE_CFLAGS_F16C = -mf16c -QMAKE_CFLAGS_RDRND = -mrdrnd -QMAKE_CFLAGS_AVX512F = -mavx512f -QMAKE_CFLAGS_AVX512ER = -mavx512er -QMAKE_CFLAGS_AVX512CD = -mavx512cd -QMAKE_CFLAGS_AVX512PF = -mavx512pf -QMAKE_CFLAGS_AVX512DQ = -mavx512dq -QMAKE_CFLAGS_AVX512BW = -mavx512bw -QMAKE_CFLAGS_AVX512VL = -mavx512vl +QMAKE_CFLAGS_F16C = -mf16c +QMAKE_CFLAGS_RDRND = -mrdrnd +QMAKE_CFLAGS_AVX512F = -mavx512f +QMAKE_CFLAGS_AVX512ER = -mavx512er +QMAKE_CFLAGS_AVX512CD = -mavx512cd +QMAKE_CFLAGS_AVX512PF = -mavx512pf +QMAKE_CFLAGS_AVX512DQ = -mavx512dq +QMAKE_CFLAGS_AVX512BW = -mavx512bw +QMAKE_CFLAGS_AVX512VL = -mavx512vl QMAKE_CFLAGS_AVX512IFMA = -mavx512ifma QMAKE_CFLAGS_AVX512VBMI = -mavx512vbmi -QMAKE_CFLAGS_AESNI = -maes -QMAKE_CFLAGS_SHANI = -msha +QMAKE_CFLAGS_AESNI = -maes +QMAKE_CFLAGS_SHANI = -msha QMAKE_COMPILER += clang_cl llvm -- cgit v1.2.3 From b4b8ea6181760ac3005868ed2f3b711ca29ca774 Mon Sep 17 00:00:00 2001 From: Timo Aarnipuro Date: Fri, 1 Feb 2019 15:20:20 +0200 Subject: configure: Allow libraries to be defined with exact filename INTEGRITY compiler searches for exact filename if the -l argument already contains .a suffix. GNU linker uses exact filename if -l argument begins with a colon. Change-Id: I62be8f1e6b9c7dc7eaa5ab3d4bfc55460d729737 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qt_configure.prf | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index e845bf1577..62ad972796 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -540,7 +540,15 @@ defineTest(qtConfResolveLibs) { } else: contains(l, "^-l.*") { lib = $$replace(l, "^-l", ) lcan = - unix { + integrity:contains(lib, "^.*\\.a") { + # INTEGRITY compiler searches for exact filename + # if -l argument has .a suffix + lcan += $${lib} + } else: contains(lib, "^:.*") { + # Use exact filename when -l:filename syntax is used. + lib ~= s/^:// + lcan += $${lib} + } else: unix { # Under UNIX, we look for actual shared libraries, in addition # to static ones. shexts = $$QMAKE_EXTENSION_SHLIB $$QMAKE_EXTENSIONS_AUX_SHLIB -- cgit v1.2.3 From c808a6978b0e99086b1e42b565afe957d7295a9d Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Fri, 1 Mar 2019 15:37:08 +0100 Subject: Add a means to handle dynamically created qmldir files This will enable modules like QtWebView which needs to generate its qmldir at qmake time since it changes depending on whether QtWebEngine is available or not. This ensures that it is not created in the sources directory and in the build directory and correctly picked up. Task-number: QTBUG-65092 Change-Id: Iac628b97145d29778f554510e8e07102d588df64 Reviewed-by: Joerg Bornemann --- mkspecs/features/qml_module.prf | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf index bd84ce597a..dbf5b74355 100644 --- a/mkspecs/features/qml_module.prf +++ b/mkspecs/features/qml_module.prf @@ -13,7 +13,14 @@ equals(TEMPLATE, app): TEMPLATE = aux isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name)") -qmldir_file = $$_PRO_FILE_PWD_/qmldir +!isEmpty(DYNAMIC_QMLDIR) { + qmldir_path = $$OUT_PWD + write_file($${qmldir_path}/qmldir, DYNAMIC_QMLDIR)|error("Aborting.") +} else { + qmldir_path = $$_PRO_FILE_PWD_ +} + +qmldir_file = $${qmldir_path}/qmldir fq_qml_files = for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) @@ -42,13 +49,20 @@ builtin_resources { } # Install rules -qmldir.base = $$_PRO_FILE_PWD_ +qmldir.base = $$qmldir_path # Tools need qmldir and plugins.qmltypes always installed on the file system -qmldir.files = $$qmldir_file $$fq_aux_qml_files + +qmldir.files = $$qmldir_file install_qml_files: qmldir.files += $$fq_qml_files qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH INSTALLS += qmldir +qmlfiles.base = $$_PRO_FILE_PWD_ +qmlfiles.files = $$fq_aux_qml_files +install_qml_files: qmlfiles.files += $$fq_qml_files +qmlfiles.path = $${qmldir.path} +INSTALLS += qmlfiles + !debug_and_release|!build_all|CONFIG(release, debug|release) { !prefix_build { COPIES += qmldir -- cgit v1.2.3 From 1d5f9fcc8a14e4826943a913fe22e819a0837b80 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 19 Mar 2019 17:22:45 +0100 Subject: Handle quotes in .prl files Do remove quotes around libraries before trying to parse them. This patch is a follow-up to eda28621f6c1a68774719f, and fixes an issue on Windows where e.g. Qt5AxServer.prl contains entries like "-lole32" Fixes: QTBUG-73475 Change-Id: I3d1353de618328a0d44bacd4dbd6aba8fc66b1b7 Reviewed-by: Kyle Edwards Reviewed-by: Joerg Bornemann --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 1 + 1 file changed, 1 insertion(+) (limited to 'mkspecs') diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index d6773d6e98..b643e5edf9 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -62,6 +62,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura set(_search_paths) string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\") foreach(_flag ${_static_depends}) + string(REPLACE \"\\\"\" \"\" _flag ${_flag}) if(_flag MATCHES \"^-l(.*)$\") # Handle normal libraries passed as -lfoo set(_lib \"${CMAKE_MATCH_1}\") -- cgit v1.2.3