summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* 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>
| | * qmake: don't mess up linking order of frameworksOswald Buddenhagen2019-02-141-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make it "last one wins", consistently with regular libraries. this isn't really relevant in qmake, because the order matters only for static frameworks, which qmake defines out of existence. note that specifying frameworks by full path does not work, so we don't need to amend 9d76beee5 in that regard. Change-Id: Ib027109339e1b5973c577d69906b6daf83ba9611 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-154-10/+27
| |\| | | | | | | | | | Change-Id: I8cad26f17834dbc9f7151edc0f17786f9e32025d
| | * Recognize UNC paths as absolute (i.e. not relative)Edward Welbourne2019-02-131-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IoUtils::isRelativePath() didn't attempt to consider UNC paths, due to a belief that qmake fails on them so badly that it wasn't worth the extra code. However, it turns out Qt Creator's copy of this code does need to take this into account, so start the change off in qmake's version so as to keep in sync. Task-number: QTCREATORBUG-21881 Change-Id: I3084b87c1d3ca6508255e94e04ac8db3ceaebb7e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake vcxproj generator: Use correct version in solution header for 2017Oliver Wolff2019-02-131-1/+1
| | | | | | | | | | | | | | | Change-Id: I360202c88a8da84f3ecaf43304fcf6f5a992b953 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake vcxproj generator: Update platform toolset and solution header for VS 2019Joerg Bornemann2019-02-133-2/+14
| | | | | | | | | | | | | | | Change-Id: Id01f28f2ef3e271fa48dddf5f8ccb6b057180aa0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake/vcxproj generator: Fix bug in extra compiler initializationJoerg Bornemann2019-02-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMake ignored every extra compiler that sets variable_out and whose output does not have a builtin compiler (C++, C). What the code wants to achieve is to ignore extra compilers that put their output into variables that are handled "somewhere else already", e.g. are in the otherFilters list. Evidence for that is to be found in the addOnInput == true if branch. Task-number: QTBUG-71283 Change-Id: I8c1d76febccacb450cd14ad7a1f4b87726832312 Reviewed-by: Brett Stottlemyer <bstottle@ford.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-121-2/+2
| |\| | | | | | | | | | Change-Id: Iad53d4f21263718b8ecf15fd2d1170d24c7b675d
| | * Win32 makefile for qmake: Use proper linkerYuhang Zhao2019-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Use xilink for ICC and lld-link for Clang. Change-Id: I13c74339ae9e3e5c97210afd20a53c7e474b873b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-02-084-0/+10
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml src/network/ssl/qsslsocket_mac.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/corelib/kernel/qtimer/BLACKLIST tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp tests/auto/testlib/selftests/expected_blacklisted.lightxml tests/auto/testlib/selftests/expected_blacklisted.tap tests/auto/testlib/selftests/expected_blacklisted.teamcity tests/auto/testlib/selftests/expected_blacklisted.txt tests/auto/testlib/selftests/expected_blacklisted.xml tests/auto/testlib/selftests/expected_blacklisted.xunitxml tests/auto/testlib/selftests/expected_float.tap tests/auto/testlib/selftests/expected_float.teamcity tests/auto/testlib/selftests/expected_float.txt tests/auto/testlib/selftests/expected_float.xunitxml Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de> Done-With: Edward Welbourne <edward.welbourne@qt.io> Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: If93cc432a56ae3ac1b6533d0028e4dc497415a52
| | * Make the Makefile a dependency of default targets for nmakeJoerg Bornemann2019-02-044-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user changes the .pro file, the Makefile is supposed to be re-generated by calling qmake again. NMake however lacks a "Makefile remake feature" like GNU make has. The generated Makefiles for nmake however have already a proper Makefile target that can be used to re-generate the Makefile. What was missing is the dependency from an entry-target in the meta-Makefile. Now changes in the .pro file trigger a re-generation of Makefile.Debug/Makefile.Release when calling nmake without target arguments or with "debug" or "release". Fixes: QTBUG-29193 Change-Id: I9f2dd5deba4a043ab6c9502bb0b0ba83dc843612 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | qmake.pro: Fix missing headers and add missing line continuationTobias Hunger2019-02-081-7/+6
|/ / | | | | | | | | | | Change-Id: I308cff86f1af2c24eee13ec0531d967a3770ed04 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Enable deprecation warnings by defaultGiuseppe D'Angelo2019-02-021-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With Qt 6 in sight, people need to start moving away from their deprecated APIs, as we want to remove them all in 6.0. We are marking deprecated APIs with deprecation attributes, but by default we're disabling deprecation warnings, making them an opt-in by the user. We need to do the opposite: make deprecation warnings enabled by default, and have an opt-out define. [ChangeLog][QtCore][Important Behavior Changes] Qt now enables by default warnings when using APIs marked as deprecated. It is possible to disable such warnings by defining the QT_NO_DEPRECATED_WARNINGS macro. The old QT_DEPRECATED_WARNINGS macro which was used to enable this warning now has no effect (warnings are automatically enabled). Task-number: QTBUG-73048 Change-Id: Ie2b024fd667eb876b6ac9054cbbbc5a455cb9d5c Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-263-20/+36
|\| | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
| * Resolve macOS framework headers for extra compiler depend_commandJoerg Bornemann2019-01-152-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS, if an extra compiler returns a framework include via its depend_command, we must resolve it properly. For example, the uic extra compiler might return an include "QtQuickWidget/QQuickWidget", but the actual header file is located in "QtQuickWidget.framework/Headers/QQuickWidget". Fixes: QTBUG-72641 Change-Id: I42f11c74d01c88db8a32025b7f04d9ad50b2d08b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * MakefileGenerator: deduplicate codeJoerg Bornemann2019-01-152-20/+15
| | | | | | | | | | | | | | | | Factor out a resolveDependency method. We will enhance it in a subsequent commit. Change-Id: I4eead8bd03066c2ccbc9d9276acbc9f6c3bc6b97 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * qmake: use default libdirs to search for prl libsSamuli Piippo2019-01-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Default libdirs are never added to the modules' LIBS and if Qt was configured to use one of the default libdirs, module might end up without any path to search for its prl files. Add default libdirs to the search path similar as it's done in unix/makefile generator. Fixes: QTBUG-72855 Change-Id: I43c5bae0d54ba9427ab0ad3eab61ba0c4e2cbde8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | QFile/QFileInfo: mark readLink() as deprecatedChristian Ehrlicher2019-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | QFile/QFileInfo::readLink() functions are obsolete but were not marked as deprecated. Explicit mark them as deprecated so they can be removed with Qt6. Change-Id: I52424dc5441e1f5b01015713df990bbec5186caa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-0711-206/+78
|\| | | | | | | Change-Id: Ieb57137ee2b7d0c505e3531d5aa1bcb66978847e
| * qmake: rewrite msvc/nmake cross-build environment setupOswald Buddenhagen2019-01-051-201/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rather than reproducing vcvarsall.bat's functionality as hard-wired code in the nmake generator, just invoke the actual script from toolchain.prf. this is much easier, more future proof, and - critically - makes the detected variables available to configure's new library & header search facilities. [ChangeLog][Important Behavior Changes][qmake][WinRT] Cross-builds will now ignore pre-set values of %INCLUDE% and %LIB% when building target executables. If necessary, use configure's -I and -L switches when building Qt, and pass QMAKE_INCDIR and QMAKE_LIBDIR on qmake's command line when building own projects. Change-Id: I36f53e8880d6523f3f6f7a44d40d87d04bd06854 Reviewed-by: Thomas Miller <thomaslmiller91@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * qmake: add $$read_registry() functionOswald Buddenhagen2019-01-056-5/+54
| | | | | | | | | | Change-Id: I7f9f17e0f44c273e4754d1decc92a8594cad8658 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * qmake: add QMAKE_EXPORTED_VARIABLESOswald Buddenhagen2019-01-054-0/+24
| | | | | | | | | | | | | | because QMAKE_EXTRA_VARIABLES sometimes just ain't enough. Change-Id: I739e5b6510e4701ca0a86834e4f9a978d7ef1cf4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-044-28/+25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also blacklist tst_QRawFont::unsupportedWritingSystem() and tst_QGlyphRun::mixedScripts() on windows for now. Conflicts: qmake/generators/makefile.cpp src/corelib/itemmodels/qstringlistmodel.cpp src/platformsupport/fontdatabases/windows/qwindowsfontengine_p.h tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp tests/auto/gui/text/qglyphrun/BLACKLIST tests/auto/gui/text/qrawfont/BLACKLIST Task-number: QTBUG-72836 Change-Id: I10fea1493f0ae1a5708e1e48d0a4d7d6b76258b9
| * winrt: Remove yet another Windows Phone leftoverOliver Wolff2019-01-021-8/+0
| | | | | | | | | | | | | | | | | | | | Hardware and camera button handling are phone specific APIs we no longer support in Qt. Change-Id: Ib11f894a426b8e4b71acf24876437ddab2cea548 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * qmake: fixify target paths of extra compilers more consistentlyOswald Buddenhagen2018-12-201-15/+19
| | | | | | | | | | | | | | | | | | | | ... so we don't get into situations where a target has a relative path, while another target depends on it with an absolute path. Task-number: QTBUG-36768 Change-Id: Icc5b249914bb3f095f4a6542c30bacf5ea6f9ec9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * qmake: Add support for installing executable files without calling stripAndy Shaw2018-12-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | Since some files are still executable (such as bash scripts) then they should not get strip called on them when installing in those cases. So by adding .CONFIG = nostrip, it indicates that strip should not be called on this. Fixes: QTBUG-60751 Change-Id: I19d502c07644daf9d487a8817c8e57d96eedab60 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * qmake: move QT_BEGIN_NAMESPACE to correct placeOswald Buddenhagen2018-12-192-3/+3
| | | | | | | | | | | | | | | | this makes no difference whatsoever, because qmake isn't actually built in a namespace, but it makes the new qtc code model happy. Change-Id: I70ad8e16cceff73276a821219fc80bab365954b5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>