summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msbuild_objectmodel.cpp
Commit message (Collapse)AuthorAgeFilesLines
* refactor VCXProjectWriter::outputFileConfigJoerg Bornemann2014-09-241-145/+61
| | | | | | | | | 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-241-75/+3
| | | | | | | | 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-241-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@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>
* Add build support for Windows Phone 8.1Andrew Knight2014-05-221-9/+11
| | | | | | | | 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>
* move platform toolset retrieval to VcprojGeneratorJoerg Bornemann2014-04-031-25/+1
| | | | | | | | 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>
* 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>
* 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-111-0/+40
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-201-3/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-101-3/+4
| | | | | | | | | | Change-Id: I11bfc8259ac4e175c9ecc37d64f1d2e5037f15aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | qmake vcproj: Support setting the SDK versionAndrew Knight2014-01-071-11/+12
| | | | | | | | | | | | | | | | | | | | | | 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 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>
* kill dead codeOswald Buddenhagen2013-11-041-11/+0
| | | | | Change-Id: I713c5504126fab40389ecb3a248b6c10048fc6c4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix /SAFESEH linker option for VS >= 2010Joerg Bornemann2013-10-291-0/+2
| | | | | | | | | | In VS 2010 and newer the /SAFESEH linker option is not passed as additional option but is represented by the property ImageHasSafeExceptionHandlers. Task-number: QTBUG-34392 Change-Id: I3bd19078e695716050dd20736b6bc589bcb1cefd Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* add default branch to switch in platformToolSetVersion()Oswald Buddenhagen2013-10-071-1/+2
| | | | | Change-Id: Icf399ffd7e41aca207ea3b4b08b9e3dead7c821a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make it possible to disable debug information in vcxproj filesJoerg Bornemann2013-10-011-1/+2
| | | | | | | Task-number: QTBUG-32885 Change-Id: I53a2208935a1c52bc7ca757651df6a0125979787 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* qmake: added file deployment support for winrt and winphone targetsKamil Trzcinski2013-09-151-2/+27
| | | | | | | | | | | | | The user needs to specify the DEPLOYMENT variable. The syntax is the same as previously used for DEPLOYMENT. For more info please refer to the qmake documentation. The change adds a new itemgroup, "Deployment Files". All files in this itemgroup are marked as DeploymentContent and are then packaged with the application either as XAP or the WinRT specific file format. Change-Id: Icf85887287c1c97eb782704340eaa3f8dde6719e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added support for WindowsMetadataFileKamil Trzcinski2013-09-151-0/+4
| | | | | | | | | In order to be able to use the linker's /WINMD and /WINMDFILE options Change-Id: I2673e20aa073c6b807e8c9f191fd408c7976efc4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added CompileAsWinRT switch to the VCCLCompilerTool (the cl /ZW option)Kamil Trzcinski2013-09-151-0/+2
| | | | | | Change-Id: I2a67779bcb38af85a2c43d3e9a15aa3ba45b4788 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use correct toolset version for winphone buildsOliver Wolff2013-09-151-3/+4
| | | | | | Change-Id: I9ecd9f632d0201e060de5cce4782912efdc6bd32 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: enable default reference for all winphone targetsKamil Trzcinski2013-09-151-0/+10
| | | | | | | | | The change adds a new ItemGroup with a single library reference: platform.winmd. Change-Id: I0c7f4c46654b520afb79b6c6f49b5f2d1af400d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added WinRT and WinPhone configuration switchKamil Trzcinski2013-09-151-2/+20
| | | | | | | | | qmakespec for either WinRT or WinPhone have to specify QMAKE_PLATFORM with winrt and/or winphone. Change-Id: I87e0063881e6edd65de14adb006949247ce49904 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add support for Visual Studio 2013Joerg Bornemann2013-07-041-0/+2
| | | | | | | | | | Add mkspec win32-msvc2013 and make VS 2013 known to configure and qmake. Change-Id: I6e63a4d679727a8a3f068f377956185996d72bce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* basic manifest tool support in vc(x)proj generatorJoerg Bornemann2013-06-251-0/+3
| | | | | | | | | | | The removal of embed_manifest_dll or embed_manifest_exe from CONFIG now disables the embedding of manifests in VS project files. Task-number: QTBUG-5301 Change-Id: I031318883edca6f9b63a7981ef6c44e3f123f6fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix PlatformToolSet tag location in vcxproj filesJoerg Bornemann2013-05-301-9/+2
| | | | | | | | | | | | | | The PlatformToolSet tag belongs into the PropertyGroup with the label "Configuration". The former location in an anonymous PropertyGroup tricked Visual Studio into displaying the right PlatformToolSet but using its default value. If VS 2010 and VS 2012 are freshly installed on the same machine, the default toolset for VS 2012 is VS 2010. Task-number: QTBUG-30822 Change-Id: If00a532e92b0812c552b1cac52ff77a1e7039146 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake/vcxproj: resurrect support for /we compiler switchJoerg Bornemann2013-05-071-1/+1
| | | | | | | | | | | | The vcxproj format supports the /we compiler switch as TreatSpecificWarningsAsErrors tag. Support for this switch got lost during refactoring of the vc(x)proj generators for Qt 4.8.0. Task-number: QTBUG-29098 Change-Id: I607e907dcb9c1bc7d261053b6d757941ec7db822 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix quoting issues in vcxproj generatorJoerg Bornemann2013-04-291-2/+2
| | | | | | | | | | | | | Fix passing of preprocessor definitions with double quotes to the resource compiler and to MIDL. Both have a different escaping mechanism then the C/C++ compiler tool. This fixes a regression introduced in 9e9911715c37511ece018aa9d36491b77872501b. Task-number: QTBUG-30859 Change-Id: Ifa041df407030320847373a5964a547c39dd5439 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Revert "qmake vcxproj generator: map TARGET_EXT to $(TargetExt)"Joerg Bornemann2013-01-241-10/+2
| | | | | | | | | | | | | | | This reverts commit e81d7fd1e57fe2ce11cbe07636f890973116f7ab. The insane logic that prepends the version number of a lib to TARGET_EXT instead of appending it to TARGET breaks every vcxproj with a library version. Fixing this properly will require much more work and testing on all supported Windows platforms. Forward-port of 8869b3b3 in qt/qt.git. Task-number: QTBUG-29286 Change-Id: Ib96de9c6f41995af013b146a00c850c9da3a9d8d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* qmake: fix reversed defines in vcxproj filesJoerg Bornemann2012-10-131-1/+1
| | | | | Change-Id: I9fbb4b563428bb23974d59050f4c71e8d1983ff3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: fix overescaped defines in vcxproj filesJoerg Bornemann2012-09-261-3/+19
| | | | | | | | Task-number: QTBUG-27345 Change-Id: I00848d611163afb549191f41adff628622a899e0 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: support for Visual Studio 2012 project files addedJoerg Bornemann2012-09-251-0/+19
| | | | | | | | | | The differences to VS 2010 project files are the version number (surprise!) and the PlatformToolSet tag which sets the version of the toolchain. Change-Id: If26f08fad1a69d7e6cd28cc5e860ff964f19b264 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* qmake: Include own header firstSergio Ahumada2012-09-171-1/+2
| | | | | | | cpp files should include their own headers first (but below config.h) Change-Id: I10ef37854843ae6438d68f96ce5ee83eede33db5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake vcxproj generator: map TARGET_EXT to $(TargetExt)Joerg Bornemann2012-08-071-2/+10
| | | | | | | | Task-number: QTBUG-26782 Change-Id: Ib143fa6b8674c4d09d798a9301bb209b886e791d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmake: un-copy-and-pastify vcxproj generator a bitJoerg Bornemann2012-08-071-60/+69
| | | | | | | Reusing already built strings improves readability and performance. Change-Id: I8555fb860561ff214ae123efeda78fc770b6459f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Add the filters for extra compilers for vcxproj filesAndy Shaw2012-08-071-0/+8
| | | | | | | | | | | The files were grouped into the relevant filters but the filters themselves were not added. This now ensures the filters are added to the vcxproj files so they appear grouped correctly. Task-number: QTBUG-26755 Change-Id: I7d2c6fa96dcbb0496fd9d1bb1d01e7dd660052f4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmake vcxproj generator: fix handling of /MANIFEST:NO linker optionJoerg Bornemann2012-04-171-0/+7
| | | | | | | | Task-number: QTBUG-23513 Change-Id: I5dd6fb6fd7910e43acd28057133a3ad6613cfc1a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* qmake: fix default value for C++ optimization in vcxproj filesJoerg Bornemann2012-01-081-2/+4
| | | | | | | | | For the debug configuration the optimization should be turned off. Task-number: QTBUG-23421 Change-Id: Ib63e0c51f9ab31180ff8ee01a1f6c57ab77e390e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Silence warnings from clangBradley T. Hughes2011-11-091-0/+62
| | | | | | | | | | Many enumerator values were not handled in msbuild_objectmodel.cpp. For each unhandled value, add a case statement that simply breaks. Change-Id: I018fc5e641200568c88ccc6acb3f5b6ee6b3fd6f Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmake: fix incrementalLinker option writing for vcxprojJoerg Bornemann2011-10-141-1/+1
| | | | | Change-Id: I7d3b33a3a2e2f7c89ea956cd1304e7d2e365151f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qmake vcxproj generator: fix XML conversion for build eventsJoerg Bornemann2011-09-081-2/+2
| | | | | | | | | | Task-number: QTBUG-20419 Change-Id: I52069e0beb2b39ec4a67e83de583efd2926c6611 Reviewed-on: http://codereview.qt-project.org/4484 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>