summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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-153-9/+21
|\| | | | | | | Change-Id: I8cad26f17834dbc9f7151edc0f17786f9e32025d
| * 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.13Liang Qi2019-02-082-0/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-042-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-261-0/+2
|\| | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
| * 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>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-074-432/+2
|\| | | | | | | 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-052-231/+0
| | | | | | | | | | Change-Id: I7f9f17e0f44c273e4754d1decc92a8594cad8658 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * qmake: add QMAKE_EXPORTED_VARIABLESOswald Buddenhagen2019-01-051-0/+2
| | | | | | | | | | | | | | 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-042-10/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: move QT_BEGIN_NAMESPACE to correct placeOswald Buddenhagen2018-12-191-2/+2
| | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-111-3/+4
|\| | | | | | | Change-Id: I91e684e74c36467efda8ded6ed19791baa0c1a1f
| * Fix qmake's detection for conflicting source files for nmakeJoerg Bornemann2018-12-101-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following source tree: foo/narf.cpp bar/narf.c bar/gnampf.cpp The .pro file has SOURCES += foo/narf.cpp bar/gnampf.cpp The file bar/narf.c is not supposed to be built for whatever reason. QMake's nmake Makefile generator generates inference rules of the form {.\foo}.cpp{debug\}.obj:: ... for every source subdirectory and every source file extension. Thus, we have {.\foo}.cpp{debug\}.obj:: {.\bar}.cpp{debug\}.obj:: {.\bar}.c{debug\}.obj:: Depending on the exact execution order of the inference rules (which depends on the names of the files) the latter rule might get picked, and we're erronously compiling bar/narf.c even though it's not referenced in the .pro file. Conclusion: QMake's detection of conflicting source files must consider the base names of source files, and not the exact file names. Fixes: QTBUG-72059 Change-Id: I50c2725ae2a7421053369a10680230f571af00ea Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Compile with QT_STRICT_ITERATORS definedLars Knoll2018-11-262-4/+4
| | | | | | | | | | | | | | This will be the only options for Qt 6, so make sure the code compiles now. Change-Id: I23f791d1efcbd0bd33805bb4563d40460954db43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Support 'CONFIG += precompile_header_c' in VS projectsJoerg Bornemann2018-11-243-21/+29
| | | | | | | | | | | | | | | | | | | | | | | | 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-243-13/+13
| | | | | | | | | | | | | | | | 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>
* | Enable users to specify WindowsTargetPlatform[Min]Version in VS projectsJoerg Bornemann2018-11-163-19/+10
|/ | | | | | | | | | | | | | | | | | | | | | [ChangeLog][qmake] Introduced the variables WINDOWS_TARGET_PLATFORM_VERSION and WINDOWS_TARGET_PLATFORM_MIN_VERSION for overriding the default values of WindowsTargetPlatformVersion and WindowsTargetPlatformMinVersion in Visual Studio project files. The code to determine the default values is moved to qmake feature files. A common/windows-desktop.conf file is introduced for variables common to all non-UWP Windows mkspecs. The package_manifest feature uses WINDOWS_TARGET_PLATFORM_VERSION as default value for WINRT_MANIFEST.minVersion, and WINDOWS_TARGET_PLATFORM_MIN_VERSION for WINRT_MANIFEST.maxVersionTested respectively. Task-number: QTBUG-53654 Change-Id: I251ec7f9b804c9bc9f7d571f5b43d52b2a2d99d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add Windows Desktop arm64 target to QtbaseThomas Miller2018-11-111-12/+34
| | | | | | | | | Allows a qt build to be configured to target arm64 desktop apps cross platform and build them with nmake. Change-Id: I99fed12047b45a504a1644201bcc19b18c69f3e6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Revert "Revert "qmake: Work around MSVC compiler bug.""Oliver Wolff2018-11-091-0/+14
| | | | | | | | | | | The assert still happens on MSVC 2015 64 bit when running qmake -tp vc -r. This reverts commit f4169a633b97b7b6e7365172cf3d38d2f16a8914. Fixes: QTBUG-71228 Change-Id: I05bd3e0677414edb970f07e0555cdc95ce32f592 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qmake: make sure QMAKE_LIBS{,_PRIVATE} comes after LIBS{,_PRIVATE}Oswald Buddenhagen2018-10-124-10/+18
| | | | | | | | | | the early merging of LIBS* into QMAKE_LIBS* meant that we could not interleave them properly. defer the merging until the points of use. Task-number: QTBUG-70779 Started-by: BogDan Vatra <bogdan@kdab.com> Change-Id: I890f98016c3721396a1f0f6f149a9e2b37d56d8e Reviewed-by: Liang Qi <liang.qi@qt.io>
* qmake: nuke QMAKE_INTERNAL_PRL_LIBSOswald Buddenhagen2018-10-121-2/+0
| | | | | | | | | | | | it's unused now, and just complicates matters. its interaction with LIBS_PRIVATE & co. has always been a bit shaky. google produces no public hits outside qt itself, so let's assume it really remained internal. Change-Id: I6606bbabd44f1b76d84e97219e155e38d6f1b3a6 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmake: Fix building with lld with mingw makefilesMartin Storsjö2018-10-121-15/+17
| | | | | | | | | | | lld for coff/mingw doesn't support linker scripts, which qmake used for passing larger numbers of input file names to the linker. Instead of using a fullblown linker script for this, just use a plain response file, which both lld and binutils ld support. Change-Id: I3aace7902fa6ca861a0a9fe67feaa236e7ea417b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
* | Revert "qmake: Work around MSVC compiler bug."Friedemann Kleint2018-09-261-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix was for MSVC2010 which is now no longer supported and causes a warning: msvc_vcproj.cpp(217,12): warning: unknown pragma ignored [-Wunknown-pragmas] #pragma optimize( "g", off ) by clang-cl. This reverts commit 9f54846d951838361f4188b423e7aa7c7b9a9540. Task-number: QTBUG-63512 Change-Id: I395b964d09ac04a7dc852e43d7d95669948eea52 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | qmake: rework .prl filename constructionOswald Buddenhagen2018-08-302-3/+2
| | | | | | | | | | | | | | | | | | | | | | instead of trying to reverse-engineer it from the final target including extension and possible bundle path, construct the basename explicitly. this avoids that we mangle the filename if the actual target contains a period for some reason. Task-number: QTBUG-70097 Change-Id: I0bae9f010ab82e258680830250f8e28656f09d67 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-08-161-1/+16
|\| | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/plugins/platforms/xcb/qxcbbackingstore.cpp Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I4af138ffb2f5306373244523768209e8873b2798
| * qmake vcxproj generator: Fix extra compilers for single configsJoerg Bornemann2018-08-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For single config mode (no debug_and_release) extra compilers wouldn't get added to the vcxproj file. Single config mode creates a temporary project, and that was incomplete. Multi config mode, on the other hand, directly operates on the "real data" and wasn't affected by this problem. Task-number: QTBUG-69769 Change-Id: I9cd942e43d80adbeac9a3c8fbe1a5766bc9645a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake vcxproj generator: Fix compilation of generated C++ sourcesJoerg Bornemann2018-08-081-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Generated C++ source files with extensions other than .cpp would not get compiled, because the code ignored all other C++ source extensions like .cc and .cxx. Fix this by respecting the value of QMAKE_EXT_CPP and QMAKE_EXT_C. Task-number: QTBUG-69770 Change-Id: I097dfef6920e353a351c97891cdbfdc9a859815f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Apply modernize-use-nullptrAlessandro Portale2018-08-085-11/+11
| | | | | | | | | | | | | | Use nullptr instead of 0. Change-Id: Ib3120b9c424a274a2d4dd4c42ec5d7cd5bdead65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Apply modernize-use-overrideAlessandro Portale2018-08-087-81/+81
| | | | | | | | | | | | | | Add overrides to functions, except for destructors. Change-Id: I6e4640aa95a5c97d6bd6f6d8692d3290c421344e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Avoid comparison of values with different enumeration typesAlessandro Portale2018-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | A switch statement using enumeration type midlErrorCheckOption as condition had an enumeration value from type midlStructMemberAlignOption as a case label. This had only coincidentally the intended effect, since the intended value (midlErrorCheckOption::midlEnableCustom) and the actually used one (midlStructMemberAlignOption::midlStructMemberAlignOption) have both the value 0. Change-Id: I73b337f23e733a1a6fb80517e29365e01838238a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Harden logic for handling the -o optionTor Arne Vestbø2018-07-311-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now treat -o foo/bar/baz as a request to generate the output in the foo/bar directory with baz as the output name, or if foo/bar/baz is already a directory, in the foo/bar/baz directory with the default output name. We take care to handle generator specific directory structures, so that the project directory does not get merged into OUT_PWD. This is done in runQmake(), before parsing the project file, so that OUT_PWD will be correct during project parsing. The individual generators are then passed the filename relative to the final output directory. Each generator now also makes sure to add the right project suffix to the output file, so -o foo will result in foo.pro or foo.vcproj, instead of just foo. Task-number: QTBUG-44408 Change-Id: I26990cec0c0458bee2b88dbb86322617a85f54b5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: get rid of (some) makefile expansions in dependency pathsOswald Buddenhagen2018-07-163-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the variables are quoted correctly for commands, which is incompatible with quoting for dependencies under mingw. so insert the paths as literals, where we can control quoting. this fixes building in directories with spaces, which i broke in 7c34e0a7b by using different quoting styles for deps and commands in the first place. this breaks the hypothetical use case where somebody wants to override TARGET or DESTDIR (or DESTDIR_TARGET under windows) on the *make* command line. not sure why anyone would do that - just do it at the *qmake* level. we did not get rid of OBJECTS, because that would cause significant duplication in the makefile (not that it would matter too much, given the dependency lists ...). this isn't a problem, because these are short relative paths which are not expected to contain "funny" characters. an alternative would have been to change the variables' quoting and eliminate them from the commands instead, but that would be backwards-incompatible, because commands are "user-servicable". for the same reason, we cannot get rid of the variables entirely. Change-Id: Ic7592c7fc67d8b7d2b64de80808365cd1c3f79d0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: fix lookup of .prl files for libs specified by full filenameOswald Buddenhagen2018-07-164-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | under windows, libraries can have a numeric suffix derived from VERSION, and (under MinGW) a unix-like "lib" prefix - neither of which .prl files have. therefore, we had to make the back-mapping from the library to the .prl file reverse-engineer the original TARGET's name. we verify whether we actually got the right file by comparing the target specified inside the .prl file with what we started from. this fixes linking of transitive deps of static deps. the alternative of changing the .prl naming pattern to avoid the back-mapping was discarded, as a) it would be backwards incompatible and b) it would break project-internal -lfoo references to versioned libs. Change-Id: Ia9b899fe6a5700fee528bd1dacf130caf083cdd6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: slightly optimize processPrlFile() callsOswald Buddenhagen2018-07-161-3/+3
|/ | | | | | | | | add a parameter that indicates whether the passed filename can be only the basename of a prl file. if so, we can skip the other attempts at interpreting the file name. that's not only faster, but also clearer. Change-Id: I6f6da3f4485216021282a08acaefb53e60e7242a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: escape colons and hashmarks in dependency pathsOswald Buddenhagen2018-06-254-5/+18
| | | | | | | | | | | | | | | | | | | these characters can appear in file names, but are meta characters in dependency context. they have different semantics in make commands, so this required some reshuffling in the windows generator (which just treated dependencies and commands the same way). we don't actually escape colons for nmake, because it has magic treatment of drive letters anyway (and colons cannot appear elsewhere). also, if a target's filename gets quoted, batch rules will blow up. therefore, "funny" file names are really only supported as inputs - which is just enough to make resource embedding work. Task-number: QTBUG-22863 Task-number: QTBUG-68635 Change-Id: I473b0bf47d045298fd2ae481a29de603a3c1be30 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix QMAKE_MANIFEST for Visual Studio >= 2012Joerg Bornemann2018-06-131-0/+2
| | | | | | | | | The QMAKE_MANIFEST variable was ignored for VS linkers that support the /MANIFEST:embed option. Task-number: QTBUG-59967 Change-Id: I1cdb60ec3a7a5f117942952d4632378ff142daa5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: use consistent path separators in makefile dependenciesOswald Buddenhagen2018-06-122-4/+4
| | | | | | | Task-number: QTBUG-65072 Change-Id: I3456d9b2cdfa9c65be5933f592abb640f81c39f2 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Set WindowsTargetPlatform[Min]Version if WindowsSDKVersion is setJoerg Bornemann2018-04-061-5/+19
| | | | | | | | | | | This fixes qmake-generated project files for Visual Studio 2017 for setups where the Windows 8.1 SDK is not installed. Task-number: QTBUG-66265 Change-Id: I67712019f7142e40262f171eb23f9f1e6ab3a251 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* doc: Remove inappropriate qdoc comment markersMartin Smith2018-01-181-2/+2
| | | | | | | | | Removed the '!' from two comments because the functions being documented are static functions declared and defined in the .cpp file. They are not public. Change-Id: Ie3b2c32c64102634b6b2a4c438da191536a426d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: Introduce precompile_header_c for MSVCOrgad Shaneh2018-01-082-13/+18
| | | | | | | | | | | | | | | | | | | | | | | MSVC requires that the C PCH file is compiled (as an object) and linked if any C file is found, and the same for C++. Most qmake projects are C++. If a C++ project has a precompiled header, it is typically of C++ type, and cannot be compiled as C (for example, it contains or includes classes). Since there is no easy way to conditionally build the C PCH file only if C files are found in the project (as done for g++), we need a setting that is disabled by default. This amends 30331afda118. [ChangeLog][Tools][qmake] Introduced precompile_header_c CONFIG option for MSVC to enable precompiled header for C sources. Task-number: QTBUG-65103 Change-Id: Id9688a35ee7d9b5e4f5a846b81986cb674bc5f4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-071-1/+2
|\ | | | | | | | | | | | | Conflicts: tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp Change-Id: Ib6dd965a7eb6f59103e276b3407739147ecd37b2