summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | qmake: fix const correctnessJ-P Nurmi2013-12-102-2/+2
| | | | | | | | | | | | | | | | | | Partial cherry-pick of https://qt.gitorious.org/qt/jpnurmi-qt/commit/8c4ef19 Task-number: QTBUG-21910 Change-Id: Ieb833a977fc00d2637f8419278698c82b6086e2f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-052-8/+13
|\| | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| * make compiler use the project's pdb fileOswald Buddenhagen2013-12-031-3/+5
| | | | | | | | | | | | | | | | this avoids the nasty and conflicting vcXX0.pdb files in the build dirs. VS will already do that. Change-Id: I7bddaecf3f478edc78cd6654b5a1038db4fe04ff Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * complete implementation of force_debug_infoOswald Buddenhagen2013-12-032-4/+6
| | | | | | | | | | | | | | | | | | that means further detaching the generation and installation of debug info from the thing calling itself A Debug Build. Task-number: QTBUG-32412 Change-Id: I4d79d1ae4806c8e4a2d6a7ccd030fb88385dd7d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * install pdb files also for executablesOswald Buddenhagen2013-12-031-2/+2
| | | | | | | | | | | | | | the restriction to dlls is entirely unjustified. Change-Id: Ia518dd16189572dea9e8f4280c88801b1393694e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * make CONFIG+=no_dll affect pdb files as wellOswald Buddenhagen2013-12-031-1/+2
| | | | | | | | | | | | | | | | this option suppresses the installation of target (leaving only dlltarget). however, it still installed target's pdb file. Change-Id: Ia686a647c101ca66e74944d23171e120fc74515a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-265-59/+42
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * install pdb files for dlltargetOswald Buddenhagen2013-11-211-2/+4
| | | | | | | | | | | | Task-number: QTBUG-31129 Change-Id: I49ef3472d12b291999b4194b014b200df4b0f22d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * shrink #ifdef'd sectionOswald Buddenhagen2013-11-041-4/+5
| | | | | | | | | | | | | | for better compile-time coverage Change-Id: I594303cca6f22b68f99c0f35e0767032b90c9eae Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * make-gcc-happy variable-may-be-uninitialized (but-is-not) commitOswald Buddenhagen2013-11-041-1/+1
| | | | | | | | | | Change-Id: If214d3bce7fd23e2c30b6b9bc1bfec2e9fff3958 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix initialization order warningsOswald Buddenhagen2013-11-041-4/+4
| | | | | | | | | | Change-Id: Ia12973f7c4cabff77133ef4b9a840b76e8881759 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * kill dead codeOswald Buddenhagen2013-11-041-11/+0
| | | | | | | | | | Change-Id: I713c5504126fab40389ecb3a248b6c10048fc6c4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix VS version selectionJoerg Bornemann2013-10-311-31/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On machines where multiple versions of VS are installed, the VS version for the vc(x)proj generator is selected by the entries in the PATH variable. The first VS installation that's found in PATH is used. The former logic printed a warning if multiple VS installations were in PATH and also fell back to the lowest version if a VS version was registered with multiple install paths. That's the case for VC 2012 express and prevented its usage. Task-number: QTBUG-34357 Change-Id: Ia5c66a1aea0c40e4b7460b3aa6c7daee6673da44 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fix msvc project dependencies as specificed by .dependsChris Gilbert2013-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the full path to the qmake project file was specified as the key for projGuids when inserting the project GUID into this hash table. The only place that items are inserted into projGuids is in VcprojGenerator::collectDependencies at: projGuids.insert(val.first, newDep->target); In this case, val.first contains the full path for the given project being processed at this point. (e.g.: c:\testproject\testproject.pro) Further in sln/vcproj generation, projGuids is queried with the contents of <TARGET>.depends so that users may specify another qmake project as a dependency for a given target. This occurs in two places, in two ways: 1) In VcprojGenerator::collectDependencies() at: QString depend = dep.toQString(); if (!projGuids[depend].isEmpty()) { ... In this case QString depend contains whatever is put into <TARGET>.depends. Typically this is the plain name of the project you depend on. (e.g.: testproj) 2) In VcprojGenerator::writeSubDirs(QTextStream &t) by proxy of extraSubdirs which is a QStringList of the project depends should the mapping in case 1 fail. This case works much like the above case, attempting to use each QString entry of the extraSubdirs list as a key in projGuids. If either of the above two attempts are successful, the msvc solution is configured in a way that creates a project dependency, ensuring correct compilation order and other related behavior. The fix here stores the target project (e.g.: testproject) as opposed to the full project path, as that is what is expected in the <TARGET>.depends statements contained in the qmake project. Change-Id: Iee05661a64d7a3e4467c5ade48d801fbbfe981b5 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Chris Gilbert <cgilbert@knaldtech.com>
| * fix /SAFESEH linker option for VS >= 2010Joerg Bornemann2013-10-293-4/+9
| | | | | | | | | | | | | | | | | | | | 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>
* | qmake: add the store library path on WinRTAndrew Knight2013-11-181-1/+2
| | | | | | | | | | | | | | | | Starting with MSVC2013, a separate set of libs for Windows Store apps is supplied, so make sure it is in the LIBPATH (and before the desktop libs). Change-Id: I74f3f385c2db749010fbfe7e2d4c3d1228e4e603 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | qmake: Support MSVC2013 for WinRT buildsAndrew Knight2013-10-251-25/+41
|/ | | | | | Change-Id: I1c102f0b029616997d72933a90c0f9a2a3a9e222 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* make sure that installed meta files are always postprocessedOswald Buddenhagen2013-10-111-0/+2
| | | | | | | | | | the problem is that there is no sed command on windows ... so build it into qmake and invoke that from the generated makefiles. cmake does the same, after all. ^^ Task-number: QTBUG-33794 Change-Id: Ib7077e18acbc5edd79f714c5779a5ed31ea6c093 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix setting of output directory of SUBDIRS with -tp vsOswald Buddenhagen2013-10-111-1/+1
| | | | | | | | | | amends ec145129c. Investigated-by: Nikolai Tasev Task-number: QTBUG-32375 Change-Id: Iff27c03c0bb4f739dad9d10bae9576946948041b Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Centralize TARGET sanitization in default_post.prfTor Arne Vestbø2013-10-111-14/+0
| | | | | | | | | | | | | | | Shared between UNIX and Win generators, and allows prfs after default_post to rely on sane TARGET and DESTDIR values. This allows us to clean up the DESTDIR logic in testcase.prf, which was completely busted. Doing the two in separate commits is unfortunately not possible as the old testcase.prf logic was so broken it would barf if only looked at. Change-Id: Ibf21216195c760ee46ae679c162b207b77a9d813 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* *.sln not generated correctly for VS2012 and VS2010Katja2013-10-091-4/+4
| | | | | | | | | | msbuild fails to build project since sln not generated correctly Task-number: QTBUG-33446 Change-Id: If92ea743b1b407446873210090aa8591a491abad Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* clarify intended operator precedenceOswald Buddenhagen2013-10-071-1/+1
| | | | | Change-Id: I176bf225d4cb388f1d328ac140741fe32667e89c Reviewed-by: Joerg Bornemann <joerg.bornemann@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 WMAppManifest generation for winphone targetKamil Trzcinski2013-09-172-0/+68
| | | | | | | | | | | | | | | Platform specific qmakespec needs to enable: autogen_wmappmanifest and winphone. Manifest will be generated once and only for the application template. The Manifest will generated from following variables: * PRODUCTID - the GUID (application specific) * PUBLISHERID - GUID (publisher specific) * TARGET - short application name (executable) * AUTHOR * PUBLISHER * DESCRIPTION - application description Change-Id: I225c24dc256c57451775e37658080e88b842a7d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added file deployment support for winrt and winphone targetsKamil Trzcinski2013-09-155-60/+123
| | | | | | | | | | | | | 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-153-0/+19
| | | | | | | | | 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-153-0/+10
| | | | | | 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-152-4/+5
| | | | | | 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 VCPROJ_ARCH variable.Kamil Trzcinski2013-09-151-4/+13
| | | | | | | | | | | | It's a generic way to configure the Visual Studio Solution architecture. It's added to support different project architectures, ARM specifically. It may be a good idea to replace the Win32 and x64 with VCPROJ_ARCH=Win32 and VCPROJ_ARCH=x64 defined in corresponding qmakespecs. Change-Id: I9b23f7393bf248a629c425187d6dd8859092c45c 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-154-2/+29
| | | | | | | | | 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>
* Create clean makefiles for winrt buildsAndrew Knight2013-09-151-0/+93
| | | | | Change-Id: I33b74b98e04c1a9ca15ae07fad88f88dd4ce0669 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Ensure the input file is first in the list of dependenciesAndy Shaw2013-09-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building a project in VS then it would cause a rebuild under certain situations even though a rebuild is not actually required. The root problem exists in VS in the following configuration: 1. A file has a custom build tool specified 2. The custom build tool has additional dependencies 3. The input file is specified in the additional dependencies 4. There are files in the additional dependency list This is the situation with form files in Qt that have include hints specified in Qt Designer. The include hints get specified in the additional dependencies for the custom build tool. What happens is that VS will process files in the additional dependency list differently based on where they appear in the list relative to the input file. If a dependency appears before the input file, VS will require the file as a build input. If you just specify a file name, VS looks in the project directory (and only the project directory) for that file. You have to specify the path (relative or absolute) to get VS to look elsewhere. If VS does not find the dependency, VS thinks the project is out of date (since the missing dependency is a required build input) and will rebuild the input file. If the dependency appears after the input file and the file doesn't exist, VS does not include the dependency as a build input. Since the file is not a build input, no rebuild is required. Change-Id: I5af460d21ad049ed7819746fd60c98677b810692 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* de-duplicate code for writing dummy makefilesOswald Buddenhagen2013-08-272-17/+2
| | | | | | | | | | as a side effect, this fixes the generators that were more bitrotted (nmake and even more mingw). Task-number: QTBUG-30644 #close Change-Id: Iefa3f07125884412d091aa12b44935e5b1fb858a Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Don't compile MD4, MD5, SHA-2 and SHA-3 into qmakeThiago Macieira2013-08-151-1/+1
| | | | | | | | We just need one digest algorithm, any algorithm, to generate a somewhat unique identifier. SHA-1 will suffice. Change-Id: I3cb26bf866d616df3ef32feace10934f19daa1a6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* escape paths coming from prl filesOswald Buddenhagen2013-07-221-2/+8
| | | | | | | | | | | qmake has the rather bizarre logic that QMAKE_LIBS* is escaped rather early (instead of right before being written out the the Makefile). consequently, we need to explicitly escape the paths from the prl files as well. Task-number: QTBUG-32326 Change-Id: Ieaf81113d3ca3cf5d8a1ef87c83c5721d6b473ee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix c-quoting of strings which contain quotesOswald Buddenhagen2013-07-221-1/+1
| | | | | | | | escape backslashes before the quotes, as otherwise we'd escape the backslashes we just used to escape the quotes. Change-Id: I88e12c0c2cfc53e0ab8dce9807b06dfce6aa6e78 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* MANIFEST:NO is not written to vcprojKatja2013-07-051-0/+2
| | | | | | | | | | | When defining QMAKE_LFLAGS += /MANIFEST:NO to pro file, it is not written to vcproj in VS2008. Added MANIFEST:NO generation to vcproj Task-number: QTBUG-31975 Change-Id: I5f84b30db711bf9c317ca20dc65b207140edb398 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* merge string literalsOswald Buddenhagen2013-07-043-76/+76
| | | | | | | | makes for less visual noise and a tiny bit more efficient code. Change-Id: I587707fa4e2dc9bead9435bf5caf3a98ab680725 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add support for Visual Studio 2013Joerg Bornemann2013-07-043-1/+16
| | | | | | | | | | 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>