summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
Commit message (Collapse)AuthorAgeFilesLines
* introduce VCFilter::findFileJoerg Bornemann2014-09-293-16/+18
| | | | | | | | Move common code into a function and exit early from simple search loop. Change-Id: I88d1227653e28badc213fbe4ebe1e2a19f6e5793 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove unused member VCFilter::CustomBuildJoerg Bornemann2014-09-292-16/+0
| | | | | Change-Id: I2b57f0ac020ad1b85ffeb76a214b9cf2f48cb6d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove pointless initializationsJoerg Bornemann2014-09-252-11/+4
| | | | | | | | Those initializations are done by the constructors already. Change-Id: Ife58675e2ba4854ef66c813158cb4ed660f530d1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* simplify VCXProjectWriter::outputFileConfig a bitJoerg Bornemann2014-09-252-7/+5
| | | | | | | | The fileAdded variable is used to save state between iterations. There's no need for two variables. Change-Id: I8144cf7c7b394255459295b82a7ca808bc3951da Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* simplify VCXProjectWriter::outputFileConfig a bitJoerg Bornemann2014-09-252-9/+11
| | | | | | | We don't need the filtername parameter. Change-Id: I653db4a200c83d095520b47e1451dfe59b956d92 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove special handling for the "Deployment Files" filterJoerg Bornemann2014-09-242-6/+5
| | | | | | | | | | | | | | | | Files in "Deployment Files" should be added as static content, which happens to be the fallback in the case where checkDeploymentFiles is false. Also, the calling code expects that an XML tag is added in all cases. This did not happen for the "Resource Files" filter when checkDeploymentFiles was false, which led to unmatched closing tags. This fixes the issue that files added to RESOURCES in different build variants produced invalid vcxproj files. Task-number: QTBUG-30373 Change-Id: Ibb27e67641ba63150938cf826ea1881d182fb841 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* refactor VCXProjectWriter::outputFileConfigJoerg Bornemann2014-09-242-145/+62
| | | | | | | | | Put common code into a function. Subsequent patches will become easier. Change-Id: I0d549886585d90e4701a2430503bc0d2d716e341 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* uncopy & -pastify codeJoerg Bornemann2014-09-243-128/+32
| | | | | | | | Make use of the mythical C++ feature "function" to soothe the brain ache of anyone who looks into this part of the code. Change-Id: I740e29f1777d91d3b34a61fa62a5c23c222334b9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-2416-299/+171
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* make it possible to suppress warnings of the vcxproj generatorJoerg Bornemann2014-09-173-2/+18
| | | | | | | | | | When the user adds a compiler option that qmake doesn't understand, a warning message is printed. One can suppress these warnings now by adding CONFIG+=suppress_vcproj_warnings to the project file. Task-number: QTBUG-37520 Change-Id: Ieb7ad2c900329e76636047dff85824ea0456f608 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* add missing DefaultLanguage property for WinRT projectsJoerg Bornemann2014-09-151-1/+2
| | | | | | | Task-number: QTBUG-37628 Change-Id: I7cce0641b8958fe1d97ace21cb5392e32a067649 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* remove FORMS3 support from VS project generatorJoerg Bornemann2014-07-301-4/+0
| | | | | Change-Id: I3b2ce386a66c9635e62d1a729c75284d223c3423 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Correct the list of files included in "make dist"Thiago Macieira2014-07-301-1/+3
| | | | | | | | | | | | At the very least, include the files named in the sources, like HEADERS. It was quite surprising to send a tarball that included the .pro file and the .cpp sources, but none of the headers. On the other hand, the .qmake.cache file need need not be sent either, despite being include()d in qmake's processing. Change-Id: I8f48ca3e8040f954f321f4643b01c0f36aafe2d7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix qmake warning about unknown /Zc:strictStrings optionJoerg Bornemann2014-07-241-0/+2
| | | | | | | | Make /Zc:strictStrings known to qmake's MSVC compiler option parser. Change-Id: I5a4494096fc1d67c96c6de52bb0f1e94eff46136 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-055-25/+36
|\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| * install pdb files also for static librariesOswald Buddenhagen2014-06-051-4/+1
| | | | | | | | | | | | | | | | | | | | the condition is now consistent with that of the target itself (which means that by setting target.CONFIG=no_dll one can actually suppress installing the target itself even if it's not a dll, but anyway). Task-number: QTBUG-39253 Change-Id: Id4684a550a33b463594ab537eaa9e1cbfb61e4ff Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Add build support for Windows Phone 8.1Andrew Knight2014-05-225-21/+35
| | | | | | | | | | | | | | | | Tweak qmake, add mkspecs for emulator and device, adjust the manifest template for WP8.1, and add missing icons. Change-Id: I7a6405fa85297ae4cc8522015274e65fb7a315a6 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-061-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp src/opengl/qglpixelbuffer.cpp src/opengl/qglshaderprogram.cpp tests/auto/opengl/qglthreads/tst_qglthreads.cpp Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
| * Fix vcxproj generation on Windows PhoneAndrew Knight2014-04-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | f412f2b5 refactored the platform tool set retrieval, but made the call too early to choose the right tool set on Windows Phone. This fixes the call so that it does not depend on the WinPhone member variable, and also makes it forward-compatible with Windows Phone 8.1. Task-number: QTBUG-38516 Change-Id: Ide91563f5c7f909c4d1a258adc29af6c94595dc9 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-04-116-28/+38
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-armv7le-qcc/qplatformdefs.h src/printsupport/kernel/qcups.cpp src/widgets/styles/qstyle.h tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
| * in command line args, escape tabs as wellOswald Buddenhagen2014-04-071-1/+1
| | | | | | | | | | | | Task-number: QTBUG-27154 Change-Id: I4a204b2bf2231027db55a444f304190c3b30878c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * vcxproj generator: append version suffix only to library targetsJoerg Bornemann2014-04-031-1/+3
| | | | | | | | | | | | Task-number: QTBUG-38066 Change-Id: I2f1635f2cb34acb388c380fc2fc3fbe4df04bb03 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Windows XP target support for MSVC >= 2012Joerg Bornemann2014-04-031-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To enable windows xp support, we must do two things: 1. linker flag must be /SUBSYSTEM:CONSOLE,5.01 or /SUBSYSTEM:WINDOWS,5.01. For x64, the version is 5.02. 2. Do not use Windows Kit 8. Win SDK v7.1A is recommended. Prepend the right include paths and lib paths to INCLUDE and LIB before building. The Windows XP target support is enabled by passing "-target xp" to configure. Task-number: QTBUG-29939 Change-Id: I84c8439606cc2a9d27d64947702846faa4f1e4a2 Reviewed-by: Lucas Wang <wbsecg1@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * move platform toolset retrieval to VcprojGeneratorJoerg Bornemann2014-04-035-26/+28
| | | | | | | | | | | | | | | | In a subsequent commit we will need access to more information of the project object. This is merely a refactoring. Change-Id: I40e501d037eb7d0295e1057e7b86e404e88e6ca3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | qmake: use the manifest embedding feature of the MSVC linkerJoerg Bornemann2014-04-012-6/+23
|/ | | | | | | | | | | | Since VS 2012 the linker supports the /MANIFEST:embed option, which can be used to embed the automatically generated manifest without calling mt.exe. Using this feature simplifies our generated makefiles, esp. in the case of incremental linking. Task-number: QTBUG-37363 Change-Id: I2c2d8d2abf36c1b9e7b41bc15244344aab8f5b6e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Windows: Support .pdb file names with spaces.Sérgio Martins2014-03-141-2/+3
| | | | | | | | Task-number: QTBUG-3314 Change-Id: I50a8739f134644e3561f1f7e2e04dac469da38b6 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Honor the value of the PlatformToolset environment variable.Mat Sutcliffe2014-02-281-0/+10
| | | | | | | | | | | | | | | | The Windows SDK 7.1 command prompt sets this value to "WindowsSDK7.1" through its SetEnv.cmd batch script. The MSVC Express Editions do not include a 64bit compiler toolchain, but the Windows SDK does, so this change makes it easier to build qmake projects for x86_64 when using the Express Editions, by running qmake from the SDK command prompt. See also: http://msdn.microsoft.com/en-us/library/9yb4317s%28v=vs.100%29.aspx http://msdn.microsoft.com/en-us/library/ff660764%28v=vs.100%29.aspx Task-number: QTBUG-31185 Change-Id: I49d3e159ed67f64490a3d57c5471d540d76ae13f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix Windows RT build in amd64 host shellJoerg Bornemann2014-02-251-1/+5
| | | | | | | | | | When running a amd64 VS shell we must not call the x86_amd64 cross-compiler, because it won't be able to start. Instead we're calling the native amd64 compiler now. Change-Id: I6968cde3b24c1938b6e0d82f513e49724455f3cc Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-171-0/+5
|\ | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h Change-Id: I03d8b6e07135056baaa1d97c3c63fbe8b25583d9
| * fix warning when generating VS 2013 projectJoerg Bornemann2014-02-121-0/+5
| | | | | | | | | | | | | | | | | | | | /FS forces the compiler to synchronize pdb file writes. This option is not needed when building with Visual Studio itself. Still, qmake needs to know it when parsing the compiler flags. Task-number: QTBUG-36535 Change-Id: Id5b68c4028844e0b95904e08b5121310a4ff13d6 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | WinRT qmake vcproj: Fix icon locatorAndrew Knight2014-02-111-1/+1
| | | | | | | | | | | | | | | | This was broken for shadow builds. Adding the output directory to the manifest file name fixes the problem. Change-Id: I9e5b47a08f80f7afcfd76e13784fbaec912e50ad Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-02-111-3/+17
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-071-3/+17
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformintegration.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/android/qandroidplatformopenglcontext.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/sql/doc/src/sql-driver.qdoc src/widgets/widgets/qtoolbararealayout.cpp Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
| | * set empty PDB file name in release config of VS 2012 vcxproj filesJoerg Bornemann2014-01-301-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In release configs qmake sets DebugInformationFormat to None. If ProgramDataBaseFileName is left unset, then VS 2012 will always rebuild the complete project. Therefore, qmake now inserts an empty ProgramDataBaseFileName tag if DebugInformationFormat is None. Task-number: QTBUG-35570 Change-Id: Ifb91b0bbcf6614621bfe3b12429e2624bd16e77a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * fix VS 2010 project file generation for release modeJoerg Bornemann2014-01-221-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 2010 doesn't denote "no debug info" as "None" but as empty tag. This fixes a regression introduced by 7c3efdfb6ad72955543128a5a13e3f45ef3ee7af. [ChangeLog][qtbase][qmake] fix VS 2010 project file generation Task-number: QTBUG-35610 Change-Id: I18ae69a842d0b679a781f8d24c026d422da3a857 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | | qmake: Provide feature for windeployqtAndrew Knight2014-02-116-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | windeployqt is a tool that aids in the deployment of Qt libraries and other files on Windows. This feature (CONFIG+=windeployqt) adds automatic invocation of windeployqt for qmake projects as a post-link action. For Visual Studio projects, windeployqt is added as a custom target which runs after linking, automatically adding the output as deployment items. Task-number: QTBUG-35630 Change-Id: I4cdcb1a7f70cedccb4a4e17be5eb9f5de35a4d66 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | qmake WinRT: Default to x86 for lib pathAndrew Knight2014-02-071-0/+2
|/ / | | | | | | | | | | | | | | | | If VCPROJ_ARCH is not recognized or unset, make "arch" default to x86, or link won't find the libs. Change-Id: If2cbda37a80c0fa43e1464775c036cebf10f931a Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | qmake: Add DISTCLEAN_DEPS variableAndrew Knight2014-01-301-1/+1
| | | | | | | | | | | | | | | | This variable works like CLEAN_DEPS, but applies to the distclean target. Change-Id: Ia30e8932b9acd6529298728dd5d0e038b0208d66 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-202-6/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qstring.cpp src/gui/image/image.pri src/gui/image/qimage.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/qeglfshooks_stub.cpp tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
| * fix memory leaks in MSVC generatorsJoerg Bornemann2014-01-102-6/+8
| | | | | | | | | | Change-Id: I11bfc8259ac4e175c9ecc37d64f1d2e5037f15aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add support for using -isystem in qmakeThiago Macieira2014-01-201-1/+7
| | | | | | | | | | | | | | | | | | This commit will make qmake use -isystem automatically for any compilers that declare support for it for any paths that are listed in QMAKE_DEFAULT_INCDIRS. Change-Id: I36fefc6d5bba61671f65669f0ea42704b3c3cf31 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-134-70/+70
| | | | | | | | | | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-101-2/+4
|\| | | | | | | Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
| * fix detection for multiple VS installationsJoerg Bornemann2014-01-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | In the case of multiple VS installations, a static variable wasn't initialized. That led to wrong values in subsequent calls of the detection function. [ChangeLog][qtbase][qmake] fix detection for multiple VS installations Task-number: QTBUG-35530 Change-Id: I3fc23bc99679fff640f39578a7074d16fe923334 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | qmake vcproj: Support setting the SDK versionAndrew Knight2014-01-073-11/+16
| | | | | | | | | | | | | | | | | | | | | | This adds the required members to allow setting the SDK version, and uses them when creating WinRT projects. Task-number: QTBUG-35328 Change-Id: I500ea77c41e27cbcc850462034c0eba8c5d1f124 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qmake vcproj: Correct VCProject Version stringsAndrew Knight2014-01-071-2/+2
| | | | | | | | | | | | | | These strings are one version too large. Change-Id: If83649725ccf087075610255516ebf7a51338359 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qmake vcproj generator: Add app manifest for WinRT projectsAndrew Knight2014-01-071-1/+39
| | | | | | | | | | | | | | | | | | | | | | When creating a MSVC project file for WinRT/WinPhone, the package manifest and all referenced icons should be automatically added as content items. Task-number: QTBUG-35328 Change-Id: Id7f34388c5ba6746392ddadbb795ef47bef34af6 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qmake vcproj generator: Don't generate WinMD by default on WinRTAndrew Knight2014-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Visual Studio will default to generating metadata, even if it is not written to the vcproj. Since there is no metadata file, the build will fail. This change keeps a saner default for this option when generating WinRT project files. Task-number: QTBUG-35328 Change-Id: Ie693e270ef0b9d9677d53af0c60905f048235bc5 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qmake vcproj generator: Honor the preferred MSVC version in the mkspecAndrew Knight2014-01-071-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | Some cross-compiling mkspecs may require a different MSVC version than the one found in the path (or the default version). This change allows the preferred MSVC version to be selected from the mkspec's MSVC_VER variable when found. Task-number: QTBUG-35328 Change-Id: I19e03101e3921dfd5026421aef4630e11b9f131e Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | qmake vcxproj: Provide saner defaults for certain WinRT optionsAndrew Knight2013-12-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | The default values for PCH, the -ZW switch, and CharacterSet aren't ideal for WinRT projects, so adjust these accordingly. Task-number: QTBUG-35328 Change-Id: I78021d0785fa84e15b1f17264daa599a9418f92e Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>