summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* Export tool config and target files for each relevant moduleAlexandru Croitor2019-05-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake will now generate config and target files for each module that provides tools. As a result, namespaced global targets such as Qt5::moc or Qt5::rcc can be made available. Third party projects that require just these tools, and not the Qt modules themselves, should specify CMAKE_PREFIX_PATH pointing to the installed Qt location, and call find_package(Qt5CoreTools), find_package(Qt5GuiTools), etc. It is also possible to call find_package(Qt5Tools REQUIRED Core Widgets) where the last option is a list of modules whose tools should be imported. Note that all the tools are in the Qt5:: namespace and not in the Qt5CoreTools:: or Qt5WidgetsTools:: namespace. This commit also changes the behavior regarding when to build tools while building Qt itself. When cross compiling Qt (checked via CMAKE_CROSSCOMPILING) or when -DQT_FORCE_FIND_TOOLS=TRUE is passed, tools added by add_qt_tool will always be searched for and not built. In this case the user has to specify the CMake variable QT_HOST_PATH pointing to an installed host Qt location. When not cross compiling, tools added by add_qt_tool are built from source. When building leaf modules (like qtsvg) that require some tool that was built in qtbase (like moc), the module project should contain a find_package(Qt5ToolsCore) call and specify an appropriate CMAKE_PREFIX_PATH so that the tool package is found. Note that because HOST_QT_TOOLS_DIRECTORY was replaced by QT_HOST_PATH, the ensure syncqt code was changed to make it work properly with both qtbase and qtsvg. Here's a list of tools and their module associations: qmake, moc, rcc, tracegen, qfloat16-tables, qlalr -> CoreTools qvkgen -> GuiTools uic -> WidgetTools dbus related tools -> DBusTools Task-number: QTBUG-74134 Change-Id: Ie67d1e2f8de46102b48eca008f0b50caf4fbe3ed Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix qmake build after no longer linking against QtCoreAlexandru Croitor2019-04-291-2/+8
| | | | | Change-Id: I264195ac6e896dd72656afbec2329ae0f1a8bc82 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: Do not link qmake against Qt (not even the bootstrap one)Tobias Hunger2019-04-291-0/+1
| | | | | | | | | | | | | Qmake should not rebuild all the code in QtCore, but currently it does. When linking against QtCore, all the symbols get duplicated. A clever linker will "deduplicate" the symbols again, so this actually works with shared Qt builds, but it fails for static builds. Do not rely on the linker being clever and just do not link Qt at all for qmake. Change-Id: I0f79ed9176a19ee884dd425e5f23c26cf69dc422 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Merge commit 'dev' into 'wip/cmake-merge'Tobias Hunger2019-04-1634-596/+695
|\ | | | | | | Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
| * Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-04-111-21/+19
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qstyle_p.h Change-Id: I0e6e856bd6628da1135b3ba674dddffabbeb5c09
| | * Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into ↵Liang Qi2019-04-101-21/+19
| | |\ | | | | | | | | | | | | refs/staging/5.13
| | | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-101-21/+19
| | | |\ | | | | | | | | | | | | | | | Change-Id: I44eda44bf424fdcffab048a2534905d6162e5559
| | | | * Let QINSTALL copy hidden files when installing directoriesJoerg Bornemann2019-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When installing directories, QINSTALL must not ignore contained hidden files to be consistent with the old INSTALL_DIR. Fixes: QTBUG-66835 Change-Id: I3a7c952dcac9732d5b17c5a258f87ca277b388d2 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | | | * Let "qmake -install qinstall" set default permissions 0644 and 0755Joerg Bornemann2019-04-081-20/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...like the install commands before Qt 5.9 did. This ensures consistent permissions. Also, we can throw away the code that took care of removing and re-adding the read-only flag on Windows. This reverts commit a0b5d6e60f96359d88352e0b1c000678cdc80988 with the addition of preserving permissions when copying directories to properly install app bundles (QTBUG-74912). Fixes: QTBUG-74733 Task-number: QTBUG-74912 Change-Id: Iee6d7c5e86787dd3ada5e5e9441209d418100b1f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-04-108-44/+31
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/win32-clang-msvc/qmake.conf src/gui/image/qpnghandler.cpp Change-Id: Ied79d02912ffb3a307a99483df7db08c7f9d0cd8
| | * | | Fix precompiled headers with clang-clv5.13.0-beta2Allan Sandfeld Jensen2019-04-091-4/+12
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang-cl couldn't find the header given to it by -FI when it isn't in any of the included directories. Additionally clang-cl 8 has a bug with exported templated classes with inline methods that causes it to have missing symbols at link time. We work around this. Fixes: QTBUG-74563 Change-Id: I7becf05fa8edb07bd4cefe12bee3737e5e1dfa14 Reviewed-by: Yuhang Zhao <2546789017@qq.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | * | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into ↵Liang Qi2019-04-091-10/+16
| | |\ \ | | | | | | | | | | | | | | | refs/staging/5.13
| | | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-091-10/+16
| | | |\| | | | | | | | | | | | | | | | Change-Id: I05d14a40e17554691bad369d0363e88413afd9b3
| | | | * Merge remote-tracking branch 'origin/5.12.3' into 5.12Qt Forward Merge Bot2019-04-081-10/+16
| | | | |\ | | | | | | | | | | | | | | | | | | Change-Id: Id60d508c0f25fd5e67be07daafd2d4c56ae73934
| | | | | * Revert "Let "qmake -install qinstall" set default permissions 0644 and 0755"Jani Heikkinen2019-04-041-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3cdf46059a668f588fe237aa881c300dd76cbf9e. It seems change is causing regression & is reverted now to be able to proceed with releases Task-number: QTBUG-74912 Change-Id: Ib2365b96ee98fbbcc8853cc7f8726c157c1913a7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * | | | qmake: Remove special-handling of cl.exe's -Gm optionKai Koehne2019-04-092-18/+0
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The comment hints that it's fixing an issue in Visual Studio 2013, which we don't support anymore. In all supported Visual Studio Versions -Gm is actually deprecated anyhow, and not set anymore by default. So I guess it's safe to remove the special handling here. Change-Id: I2e8ff85350ba651d9a763aabba7b6494ba88d82e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-065-12/+3
| | |\| | | | | | | | | | | | | | | | | Change-Id: Iec860bb703f983b7438e67c695b9c454e72b3e0f
| | | * | qmake: Remove dead codeKai Koehne2019-04-055-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Silences a clang warning Change-Id: I5ade49326afcce964ffb5c24b5708977950d123e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | | Replace Q_DECL_NOTHROW with noexcept the remaining placesAllan Sandfeld Jensen2019-04-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first replacement had missed objective-C++ code some places ourside the src dir. In C-files Q_DECL_NOTHROW is replaced with Q_DECL_NOEXCEPT as we still need to turn it off when compiled in C mode, but can get rid of the old NOTHROW moniker. Change-Id: I6370f57066679c5120d0265a69e7e378e09d4759 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-04-061-0/+64
| |\| | | | | | | | | | | | | | | | | | Change-Id: Ib7c4fc52915b5e6c72b9aa262fb59f2a041dccd7
| | * | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-051-0/+64
| | |\| | | | | | | | | | | | | | | | | Change-Id: I010a6322d12e038fdce247a58dfb05e204c2ff3b
| | | * | Document in which Qt version a qmake function was introducedJoerg Bornemann2019-04-031-0/+64
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...starting with Qt 5.0.0. The text is manually inserted there, because \since does not work within sections. Task-number: QTBUG-74737 Change-Id: I0fe2d0a113d48be0266030c8466b062c6f743aab Reviewed-by: Robert Szefner <robertsz27@interia.pl> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-04-032-24/+21
| |\| | | | | | | | | | | | | | Change-Id: I99a27f9a0402e1ccad45a2d062d784f8d9a08dd3
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-022-24/+21
| | |\| | | | | | | | | | | | | Change-Id: Ia5d893e57deb78bc32e2053a5a79543ff847fe32
| | | * Fix installation of .pdb files for applications that have VERSION setJoerg Bornemann2019-03-311-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For applications that set VERSION the installation targets of pdb files were wrong in qmake's nmake Makefile generator. Replace code that tries to reconstruct that target's versioned extension with TARGET_EXT which already contains the fully resolved target extension. Fixes: QTBUG-74265 Change-Id: I9553a5f70170e077a59c866079ae51647ae80bef Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | * Let "qmake -install qinstall" set default permissions 0644 and 0755Joerg Bornemann2019-03-311-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...like the install commands before Qt 5.9 did. This ensures consistent permissions. Also, we can throw away the code that took care of removing and re-adding the read-only flag on Windows. Change-Id: I06bc3af8817f18c016119fbcb7360800d6c129bd Fixes: QTBUG-74733 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-03-311-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/configure.json Change-Id: I93ac67f3bf4844bc7c691183e94bceb922b7b919
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-301-1/+1
| | |\| | | | | | | | | | | | | Change-Id: I9935bacae0d6ba532418fc3d28adbc7ca1463604
| | | * Add .lib and .exp files to clean targets only for librariesJoerg Bornemann2019-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no point in adding those to applications. Change-Id: Ic8d3009b5099c266f56b5bdaa831d0816510bc3b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | | Clang: Enable precompiled header for qmakeYuhang Zhao2019-03-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tested with Clang 8.0.0, everything works fine. Task-number: QTBUG-74563 Change-Id: I3e216b062352851a7be59543ef1a4029f919111d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-03-091-2/+4
| |\| | | | | | | | | | | | | | Change-Id: I056b658ffe9390dfcbe2787e2bddc7f4e9b389dd
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-03-061-2/+4
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/http2/hpacktable_p.h Change-Id: Ie0c296667dfdebba84f4858056a1ac80c24ee7df
| | | * Fix library search path order on WindowsJoerg Bornemann2019-03-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2327944d added the QMAKE_DEFAULT_LIBDIRS to the library search paths without taking care that explicit library search paths should be inserted before system search paths. Copy the behavior of the UnixMakefileGenerator, esp. of commits 5bc9541e and e185f343. Fixes: QTBUG-73959 Change-Id: I7e951f432bb5f71ce4bcdb18b7102b4380441181 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * | | QString: mark obsolete functions as deprecatedChristian Ehrlicher2019-03-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark obsolete functions in QString as deprecated so they can be removed with Qt6: - QString::sprintf() - QString::vsprintf() Change-Id: I9b7748db95291c34b95ff3ad3e3aabc8215aeaae Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-03-031-2/+2
| |\| | | | | | | | | | | | | | Change-Id: Ic0037eac1d85a0e60e7b1a590d49b5ee6205bfc8
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-021-2/+2
| | |\| | | | | | | | | | | | | Change-Id: I83f6ed9480bf21020ce7a9431010d87a88df84a1
| | | * Handle QMAKE_SUBSTITUTES input files as Latin 1Joerg Bornemann2019-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMake's strategy is generally "pretend everything is Latin 1", which basically equals "do 8-bit pass-through". Change the handling of QMAKE_SUBSTITUTES input accordingly to avoid conversion losses when converting from and to UTF-8. Fixes: QTBUG-72130 Change-Id: Id903bbd2afa99708c92fd09fab3db944aa819a94 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-03-012-2/+26
| |\| | | | | | | | | | | | | | Change-Id: Icec0aa703d8a13efa9f1634a1a353eb9d63685c8
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-282-2/+26
| | |\| | | | | | | | | | | | | Change-Id: Icc9b061c56e969756f0351c936cdeb8063c86079
| | | * vcxproj generator: Fix files being in multiple filtersJoerg Bornemann2019-02-262-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Visual Studio doesn't support files being in multiple filters and refuses to load such projects. Source files that appear in variables that are mapped to file filters (SOURCES, TRANSLATIONS, ...) must not be added to a second filter if they are input for an extra compiler. Fixes: QTBUG-74004 Change-Id: Id2d752059c98d04e8154a7848c91f29a94bd092a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | | * Display EXTRA_TRANSLATIONS files in VS projectsJoerg Bornemann2019-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This amends commit 01d2f35b. Change-Id: I958c924f7f5a477f5ebced895ce2678d282526ad Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-02-223-5/+5
| |\| | | | | | | | | | | | | | Change-Id: I4b56ce8c76729d9fc60995564299f8f27336fcde
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-221-1/+1
| | |\| | | | | | | | | | | | | Change-Id: I9e7cb1b131b7b216aad8ed1b1536669fd1557c21
| | | * qmake: vcproj: Fix windeployqt config for dll targetsOliver Wolff2019-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of hardcoding the target's extension to ".exe" we should rely on target information available in Visual Studio. $(TargetFileName) is documented as "The file name of the primary output file for the build (defined as base name + file extension)." so it can be used instead of $(TargetName) together with ".exe". Change-Id: I103d8d13456910617b2d53c9c8f4e2935eb93015 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-212-4/+4
| | |\| | | | | | | | | | | | | Change-Id: I830beea26863323ab78a5d4b093f7763d77ad3da
| | | * Inline expression to bypass compiler bugDmitry Sokolov2019-02-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSVC managed to trigger the this != &other assertion in QString(const QString &other); so just skip creation of the intermediate string in the function whose body tripped over this. Change-Id: I687003cfc588531018c6069863ce2a76078c8e3f Fixes: QTBUG-73802 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | | * qmake: Optimize for speed instead of sizeYuhang Zhao2019-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ide06365f3ba0db673749a9938afc18fdf7480542 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-02-2012-24/+51
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp Added tests/auto/testlib/selftests/expected_crashes_5.txt to work round the output of the crashes test (which exercises UB, see QTBUG-73903) being truncated on one test platform. Change-Id: I9cd3f2639b4e50c3c4513e14629a40bdca8f8273
| | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-193-12/+12
| | |\| | | | | | | | | | | | | Change-Id: Ifa143cc462301aaa305c9c85360e543553a751f0
| | | * Add cmdline feature to qmakeJoerg Bornemann2019-02-182-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][qmake] A new feature "cmdline" was added that implies "CONFIG += console" and "CONFIG -= app_bundle". Task-number: QTBUG-27079 Change-Id: I6e52b07c9341c904bb1424fc717057432f9360e1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>