summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msvc_objectmodel.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qmake: use [[fallthrough]]Tim Blechmann2024-02-121-1/+1
| | | | | | | | | | | Since qt is on C++17, it's possible too use the [[fallthrough]] attribute instead of a // Fallthrough comment, that may be stripped by compiler launchers (ccache/icecc), causing -Wimplicit-fallthrough warnings. Pick-to: 6.7 Change-Id: Ic809cf4e95b2160fac591b3802fa123e705337cc Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Set GenerateDebugInformation to true in vcproj if at least /DEBUG is setAlexey Edelev2023-01-131-1/+2
| | | | | | | | | | | | | | | | | If the command line option contains /DEBUG without the following argument, GenerateDebugInformation remained 'false' because the DebugInfoOption contained the initial value. Set GenerateDebugInformation to 'true' if the /DEBUG option is found and reset to 'false' only if option is set to 'none'. Amends commit 6a6b27940d497b29672ff65ff242fe0211603f22. Pick-to: 6.2 6.4 6.5 5.15 Fixes: QTBUG-110068 Change-Id: I792d7335d8b9536d4beed54cabfd70dcf54f09ac Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Port from container::count() and length() to size() - V5Marc Mutz2022-11-031-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); except that the on() matcher has been replaced by one that doesn't ignoreParens(). a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'. Added two NOLINTNEXTLINEs in tst_qbitarray and tst_qcontiguouscache, to avoid porting calls that explicitly test count(). Change-Id: Icfb8808c2ff4a30187e9935a51cad26987451c22 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-111-2/+2
| | | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace, with manual unstaging of the actual definition and documentation in dist/, src/corelib/doc/ and src/corelib/global/. Task-number: QTBUG-99313 Change-Id: I4c7114444a325ad4e62d0fcbfd347d2bbfb21541 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qmake/msbuild: Turn off "use full paths in diagnostics" by defaultJoerg Bornemann2022-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The default setting for "Full Path of Source Code File in Diagnostics" changed with VS 2017: it's now turned on by default. It can also be enabled with the compiler flag /FC, but there is no flag for turning it off. Users might want to disable /FC to obtain reproducable binaries. Change qmake's default from "use Visual Studio's default" to "off" for this feature. Users can enable it manually by putting the following into their project files: QMAKE_CXXFLAGS += /FC CMake faced the same problem. See CMake upstream issue #18261 for comparison. Pick-to: 5.15 6.2 6.3 6.4 Task-number: QTBUG-104450 Change-Id: Ibe636a0ac5d18aefb44f2b7179b59fcec2ad8353 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake/msbuild: Support all /DEBUG:xxx linker optionsJoerg Bornemann2022-06-221-4/+16
| | | | | | | | | | | /DEBUG:OFF now turns debug info generation off. /DEBUG:FULL maps to DebugFull. Unknown /DEBUG:xxx options are added to AdditionalOptions. Pick-to: 5.15 6.2 6.3 6.4 Task-number: QTBUG-104450 Change-Id: Ibd072145e51551b29370e809b880c0d7f1a00c03 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake/msbuild: Support all /LTCG:xxx optionsJoerg Bornemann2022-06-221-17/+21
| | | | | | | | | | | /LTCG:OFF now turns off LTCG. /LTCG:INCREMENTAL maps to UseFastLinkTimeCodeGeneration. Unknown /LTCG:xxx values are passed to AdditionalOptions. Pick-to: 5.15 6.2 6.3 6.4 Task-number: QTBUG-104450 Change-Id: If85942dbeec204dc2571a861a43201cb3d5993ae Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-27/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Apply Q_CONSTINIT across the codebaseMarc Mutz2022-03-291-4/+2
| | | | | | | | | Still not complete. Just grepping for static and thread_local. Task-number: QTBUG-100486 Change-Id: I90ca14e8db3a95590ecde5f89924cf6fcc9755a3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qmake: Support Visual Studio 2022Joerg Bornemann2021-11-101-0/+2
| | | | | | | | | | | | Extend the detection of the MSCV_VER variable and make VS 2022 known to the vcxproj generator. [ChangeLog][qmake] Added support for Visual Studio 2022. Pick-to: 6.2 5.15 Fixes: QTBUG-97975 Change-Id: Id2c0a0b7800f721e9e34189f0a40ba4830283578 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake/vcxproj: Fix malformed <Message> tagsJoerg Bornemann2021-10-251-0/+1
| | | | | | | | | | | | | | Extra compilers and the command set to "\n" would result in malformed <Message> tags in vcxproj files. Those tags are used to display the name of the extra compiler when building. Setting the extra compiler's command to "\n" is a common trick to force the creation of the rule. Make sure to trim the command name that is created from the extra compiler's command to avoid such new-line-only bogus message tags. Pick-to: 6.2 5.15 Change-Id: I1bae28ed14c438d777f96280c6b2cf5ca315b51c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake/vcxproj generator: Handle C standard compiler flagsJoerg Bornemann2021-08-261-6/+34
| | | | | | | | | | | | | Handle the compiler flags /std:c11 and /std:c17 and turn them into the values stdc11 and stc17 for the LanguageStandard_C tag. Drive-by change: Add /std:c++20 to the list of known C++ standard options. Pick-to: 6.2 5.15 Task-number: QTBUG-89296 Change-Id: Ia575fff611bdf795406db84bd34057d008c8a383 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Recognize MSVC 16.x as VS 2019 in the VS project generatorJoerg Bornemann2021-08-261-27/+31
| | | | | | | | | | | | | | In a subsequent comment we will set the qmake variable MSVC_VER to 16.8 to check for the availability of certain compiler flags that were introduced in that compiler version. The old code compared exact version strings. With this patch we're checking version ranges instead and handle MSVC_VER 16.x as VS 2019. Pick-to: 6.2 5.15 Task-number: QTBUG-89296 Change-Id: I9ea24a66f68a342a72f5c2a285bafacb8786661b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: Support multiple /MERGE:from=to options in MSVC generatorJoerg Bornemann2020-09-181-1/+7
| | | | | | | | | | | | Any but the last /MERGE:from=to option passed to QMAKE_LFLAGS was ignored. Now, the first options gets a <MergeSections> tag and all further options are added as AdditionalOptions, because vcxproj files / the VS property editor do not support multiple MergeSections entries. Pick-to: 5.15 Fixes: QTBUG-86062 Change-Id: I65bddf0b8c7ed6c162008d6ad1b58c2aba2d07d9 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Silence some warnings about fallthroughFriedemann Kleint2020-07-091-1/+2
| | | | | | | | src/corelib/text/qunicodetools.cpp:1243:13: warning: this statement may fall through [-Wimplicit-fallthrough=] src/corelib/text/qunicodetools.cpp:1247:55: warning: this statement may fall through [-Wimplicit-fallthrough=] Change-Id: I441000db46cb6d85a5dcd0534ea2168b39a3f3bd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove winrtOliver Wolff2020-06-061-2/+1
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Port qmake over to user QRegularExpressionLars Knoll2020-05-051-2/+2
| | | | | | | | | Use the DotMatchesEverythingOption for all places where we interpret .pro files, to increase compatibility with QRegExp. Change-Id: I347d6b17858069f3c9cedcedd04df58358d83f27 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Purge the dep_cd_cmd parameter from callExtraCompilerDependCommandJoerg Bornemann2020-01-241-4/+1
| | | | | | | | | | | We always pass the same value. The builtins are also using exactly this "cd command" unconditionally. This deduplicates the code at the call sites of callExtraCompilerDependCommand a bit. Change-Id: I5c412c815d50afdac55e1b45021f37f2545ce8f0 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix dependency resolution for extra compilers in VS projectsJoerg Bornemann2020-01-071-27/+9
| | | | | | | | | | | | | | De-duplicate the code that calls the extra compiler's depend_command by using the central function callExtraCompilerDependCommand. This one actually tries to resolve dependencies unlike the removed code that blindly resolved relative paths to the build directory. This fixes dependencies reported by uic which need to be resolved against what is in DEPENDPATH. Fixes: QTBUG-80579 Change-Id: If482e50ff3eff716fefffee82004acc076b3a547 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Joerg Bornemann2019-09-201-1/+0
|\ | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/makefile.h Change-Id: I4c2deac4f6376c85f5e4fe7fb0ccc9ab9a013cd7
| * Make it possible to undefine NDEBUG for nmake and VS projectsJoerg Bornemann2019-09-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For nmake and VS projects we added the NDEBUG define for the release configuration unconditionally within the qmake generators. To undefine it, users had to use a nasty work-around. Now, define NDEBUG within the MSVC mkspecs. In order to do that we introduce the DEFINES_RELEASE and DEFINES_DEBUG variables that are merged into DEFINES in default_pre.prf. Users can unset NDEBUG by writing DEFINES -= NDEBUG in their .pro file. Note that DEFINES_RELEASE and DEFINES_DEBUG are merged in default_pre.prf in order to give extra compilers (like moc) the chance to see the fully resolved DEFINES variable. This is different from the QMAKE_CFLAGS_(DEBUG|RELEASE) variables that get merged in default_post.prf. Fixes: QTBUG-78071 Change-Id: I381770a1d2f974fbae9b09a2254e3f2fc7842b68 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-09-041-12/+3
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/codecs/qicucodec.cpp src/dbus/qdbusserver.cpp src/gui/painting/qbezier.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp src/plugins/printsupport/cups/qppdprintdevice.cpp Change-Id: I2703128bb64baf5580fbc2c2061b55b0f0611d2a
| * Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-08-271-12/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qdrawhelper.cpp src/gui/painting/qdrawhelper_p.h src/gui/painting/qdrawhelper_sse2.cpp src/gui/painting/qdrawhelper_x86_p.h Change-Id: I83256bb38ab3a705776e353bc0629315b6c59a0f
| | * Fix classical strcmp misuse in VS project generatorJoerg Bornemann2019-08-241-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The conditions were wrong, they must compare against zero. Also, use qstricmp to avoid the platform #ifdef. Change-Id: I7e5ef1b9ae8e2e1d3d9ce90a645ee568b370ab57 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-06-141-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/unix/unixmake2.cpp src/corelib/thread/qthread_unix.cpp tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp Change-Id: I1df0d4ba20685de7f9300bf07458c13376493408
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-071-0/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp src/plugins/platforms/cocoa/qcocoaintegration.h src/plugins/platforms/cocoa/qcocoaintegration.mm Done-With: Jörg Bornemann <joerg.bornemann@qt.io> Change-Id: I5a61e161784cc6f947abe370aab8f2971a9cbe78
| | * qmake: CleanupKai Koehne2019-06-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix clang warnings that are disabled in the default build. Change-Id: I4e773a24884db94acdc6c295d3f66da07cd8a5bd Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-04-241-0/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/util/qshaderformat.cpp src/gui/util/qshaderformat_p.h src/widgets/graphicsview/qgraphicsitem_p.h Change-Id: Idafd88eb9a0a15b4af29f6143d009c1ec8ceecca
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-241-0/+8
| |\| | | | | | | | | | Change-Id: I26da00aa71b0f0b91c9bfb4a9e8550345ee62875
| | * Teach qmake MSVC's compiler options /std:c++[14|17|latest]Joerg Bornemann2019-04-231-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the "could not parse compiler option" warning when generating VS project files. Fixes: QTBUG-75275 Change-Id: Idd98ae5fdb8ebf5a4e311cbb6cd3ed1daba74ca4 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | QRegExp include cleanupSamuel Gaist2019-04-191-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QRegExp includes can be found in several files where there's not even a use of the class. This patch aims to avoid needless includes as well as follow the "include only what you use" moto. This patch removes a QRegExp include from the QStringList header which means that there is likely going to be code breaking since QStringList is used in many places and would get QRegExp in. [ChangeLog][Potentially Source-Incompatible Changes] qstringlist.h no longer includes qregexp.h. Change-Id: I32847532f16e419d4cb735ddc11a26551127e923 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-151-1/+2
|\| | | | | | | Change-Id: I8cad26f17834dbc9f7151edc0f17786f9e32025d
| * qmake vcxproj generator: Update platform toolset and solution header for VS 2019Joerg Bornemann2019-02-131-1/+2
| | | | | | | | | | Change-Id: Id01f28f2ef3e271fa48dddf5f8ccb6b057180aa0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Support 'CONFIG += precompile_header_c' in VS projectsJoerg Bornemann2018-11-241-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | The CONFIG value precompile_header_c was ignored in the VS project generator. Add a member VcprojGenerator::pchIsCFile that is set to true if precompile_header_c is active. The code in modifyPCHstage had to be rearranged to separate the three parts for stable.h, stable.cpp and other files. Task-number: QTBUG-62821 Change-Id: I340eb165baa22cafcb64815cf223ce9a21aca558 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Simplify VCFilter::modifyPCHstage a bitJoerg Bornemann2018-11-241-29/+27
| | | | | | | | | | | | | | | | Merge two nested if blocks. This reduces the diff size for a subsequent commit. Change-Id: If60938077169fc6686329cc5c30ebc97ada013a1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Remove variable autogenSourceFile from VCFilter::modifyPCHstageJoerg Bornemann2018-11-241-3/+2
| | | | | | | | | | | | | | | | There's no point in having it, and this will reduce the diff of a subsequent commit. Change-Id: I3d27d6808c585b87a44df2499f2fcea4331befbb Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Rename VcProjGenerator::[autogen]precompCPP to [autogen]precompSourceJoerg Bornemann2018-11-241-4/+4
|/ | | | | | | | Those names are a better fit as we want to support C precompiled headers in a subsequent commit. Change-Id: Ie3f852da945b9b2cf0e363c81f1a4b3063f27372 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-301-4/+1
|\ | | | | | | Change-Id: Iaa438d14357be1bf75bb645cb8d3245947c055b8
| * Fix the /J option for MSVC project generationAndrew Patterson2018-09-271-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove the DefaultCharIsUnsigned member and XML property because the MSVC project file no longer has a specific XML tag for that setting; instead, the /J option should go directly into the AdditionalOptions tag. Task-number: QTBUG-69611 Change-Id: I8f386427b7384ae09553f66193a2c9ea2b98dbc8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: Apply modernize-use-nullptrAlessandro Portale2018-08-081-1/+1
|/ | | | | | | Use nullptr instead of 0. Change-Id: Ib3120b9c424a274a2d4dd4c42ec5d7cd5bdead65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-191-9/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/windows/qwindowscontext.cpp src/plugins/platforms/windows/windows.pri src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/doc/src/widgets-and-layouts/gallery.qdoc Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
| * qmake: Use braces for struct initialization in MSVC object modelOrgad Shaneh2017-06-121-9/+9
| | | | | | | | | | | | | | Detected by clang Change-Id: I4c5fbdb402f55ce40e84a6a40ead6c32a60cfa22 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-05-291-6/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/win32-g++/qmake.conf mkspecs/win32-icc/qmake.conf src/platformsupport/fontdatabases/mac/coretext.pri src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: I74a6f7705c9547ed8bbac7260eb4645543e32655
| * Fix parsing of MSVC's /utf-8 option, take 2Joerg Bornemann2017-05-231-1/+1
| | | | | | | | | | | | | | | | The dash was missing. This commit amends 70e772079. Task-number: QTBUG-59431 Change-Id: I18f3519a502ca57336cafad574f8738f2e717740 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Do not warn about unknown MSVC compiler conformance optionsJoerg Bornemann2017-05-231-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | Every /Zc:XXX option qmake doesn't know about yields a "WARNING: Could not parse Compiler option '-Zc:XXX'; added to AdditionalOptions." Put all /Zc:XXX options we don't handle into AdditionalOptions without printing a warning. There's no point in making all options known to qmake and updating them for every MSVC release. Change-Id: I319e027791a7b0a29d139ee3074ab1aed8ce8a63 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Remove leading whitespace from command lines in VS projectsJoerg Bornemann2017-05-231-1/+1
|/ | | | | Change-Id: I9888e5cce4fe82a27c823e7a0d345f1af839ca97 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix uninitialized VCLinkerTool::DebugInfoOptionJoerg Bornemann2017-03-221-0/+1
| | | | | | | | | | Due to that uninitialized variable /DEBUG:FASTLINK ended up in vcxproj files for VS < 2015. However, that option is supported by VS >= 2015 only. Task-number: QTBUG-59630 Change-Id: I34d9eef1a3bf2262bac48962938afe84eb7de934 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix parsing of the /utf8 MSVC compiler flag in VS project generatorJoerg Bornemann2017-03-131-1/+6
| | | | | | | | | | | | | Adding the /utf8 compiler flag resulted in undefining all preprocessor symbols for VS project files, because the ingenious compiler option parsing logic checked for a 'u' prefix, and "utf8" obviously matched. The /utf8 flag is added to the additional options, because there doesn't seem to be an XML tag for that. Task-number: QTBUG-59431 Change-Id: I762fcdcf6caf0606b40633861e265df5edb4a9c4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/common/msvc-version.conf mkspecs/common/winrt_winphone/qmake.conf mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/qt.prf mkspecs/features/uikit/default_post.prf mkspecs/features/winrt/default_pre.prf mkspecs/winphone-arm-msvc2013/qmake.conf mkspecs/winphone-x86-msvc2013/qmake.conf mkspecs/winrt-arm-msvc2013/qmake.conf mkspecs/winrt-x64-msvc2013/qmake.conf mkspecs/winrt-x86-msvc2013/qmake.conf qmake/generators/win32/msvc_vcproj.cpp src/gui/kernel/qwindowsysteminterface.cpp src/network/kernel/qhostaddress.cpp src/plugins/platforms/mirclient/qmirclientplugin.cpp src/plugins/platforms/mirclient/qmirclientplugin.h src/widgets/util/qsystemtrayicon.cpp tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp tools/configure/Makefile.mingw tools/configure/Makefile.win32 Done-with: Jake Petroules <jake.petroules@qt.io> Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: I4be3262d3994e11929d3b1ded2c3379783797dbe