summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msvc_vcproj.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* *.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>
* qmake: added WMAppManifest generation for winphone targetKamil Trzcinski2013-09-171-0/+67
| | | | | | | | | | | | | | | 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-151-58/+88
| | | | | | | | | | | | | 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 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-151-0/+6
| | | | | | | | | 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>
* 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>
* add support for Visual Studio 2013Joerg Bornemann2013-07-041-0/+12
| | | | | | | | | | 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>
* Only add the res_file to the generated files if there is no rc_fileAndy Shaw2013-07-021-1/+2
| | | | | | | | | | If both the rc_file and res_file was added to the project then in MSVC 2012 it would cause an error complaining of a duplicated resource. Task-number: QTBUG-29826 Change-Id: Ib3401b423208cd8c90895038c9cbadd80c39b542 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* basic manifest tool support in vc(x)proj generatorJoerg Bornemann2013-06-251-0/+14
| | | | | | | | | | | 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>
* Changed project dependencies for solution filesAndrew Patterson2013-06-051-17/+27
| | | | | | | | | | Reorganized project dependency output in solution files for vc 2005+ Task-number: QTBUG-30993 Change-Id: I4764f3d98be40b3e217130522bb89a43bbf3669e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake/vcxproj: do not set ProgramDataBaseFileNameJoerg Bornemann2013-05-071-1/+0
| | | | | | | | | | Visual Studio's default value is perfectly fine. Task-number: QTBUG-29757 Change-Id: Ic334287539bb849f3b74d255d3991a09008cd357 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* qmake/vcxproj: remove unused codeJoerg Bornemann2013-05-071-2/+0
| | | | | Change-Id: I5ac0ae534a7b3205d61cf2980594b74c1ed926a7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/nmake: do not remove NDEBUG from DEFINESJoerg Bornemann2013-04-091-5/+1
| | | | | | | | | | | In ebc4fb45 all NDEBUG defines were removed from DEFINES to adjust the nmake generator's behavior to the vcproj generator. Turns out that the vcproj generator did it wrong. The user must be able to specify NDEBUG in DEFINES. Change-Id: Iaaf3915ac79acbbd1e7a3172ad3951d0d686041b Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-211-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * fix setup of output directory for subprojects in IDE generator backendsOswald Buddenhagen2013-03-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | unlike before, the output dir is now important already during the project evaluation phase, as finding .qmake.conf depends on it if .qmake.cache is also present. ChangeLog: fixed qmake -tp vc (and configure without -no-vcproj) Change-Id: Ifdb95f3b38a70c0d08e71238059292e761dcfa53 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | purge vestiges of QMAKE_LFLAGS_QT_DLLOswald Buddenhagen2013-02-131-4/+0
|/ | | | | Change-Id: Ia86b9cee1044ab915854e0e231e1b3d5d66e1f7d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Revert "qmake vcxproj generator: map TARGET_EXT to $(TargetExt)"Joerg Bornemann2013-01-241-1/+0
| | | | | | | | | | | | | | | 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>
* support include paths for the Windows resource compilerJoerg Bornemann2012-12-101-0/+11
| | | | | | | | | | | In RC_INCLUDEPATH one can add include paths for the Windows resource compiler. Task-number: QTBUG-13776 Change-Id: If1d9ed44097adb7789df03e4ccd4e3b7df9e8d08 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Bring subproject dependencies in line with Makefile generatorsAndy Shaw2012-09-271-170/+195
| | | | | | | | | | When generating the solution file it should extract the dependencies from the pro file as this will bring it in line with the Makefile generators. Task-number: QTBUG-22561 Change-Id: I8d5b6607712f2c77c87ef093480e64b9633817d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Fix gcc warning about anonymous type linkageKai Koehne2012-09-261-1/+1
| | | | | | | | Fix "warning: anonymous type with no linkage used to declare variable '<anonymous struct> dotNetCombo []' with linkage". Change-Id: Iaff0d460df53fd6d0732d39bf633688805f5c653 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: support for Visual Studio 2012 project files addedJoerg Bornemann2012-09-251-0/+12
| | | | | | | | | | 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>
* Use QStringList::join(QChar) overload where applicable [qmake]Marc Mutz2012-09-211-11/+11
| | | | | | | | | | This is an automated change performing the following replacements: join\("(.)"\) -> join('\1') join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1')) join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1')) Change-Id: I9c9964703dedfdab6e7bfac80be22bd5570e2e49 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* port qmake to qt creator's qmake language evaluatorOswald Buddenhagen2012-09-111-3/+3
| | | | | | | | | | | | | | | | | | | | | this is a monster commit which does the following things: - import the evaluator as-is from qt creator into qmake/library/ - integrate it into qmake's makefiles - overwrite proitems.h with actual special types - remove the parts of Option which are redundant with QMakeGlobals - make QMakeProperty a singleton owned by Option::globals. the dynamic handling so far made no sense. - make QMakeProject a subclass of QMakeEvaluator, with relatively few extensions the changes to existing qmake code outside project.* and option.* are minor. implementing the changes gradually would mean changing a lot of code which will be just replaced in the next commit, so i'm not wasting my time on it. Change-Id: I9746650423b8c5b3fbd8c3979a73228982a46195 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce qmake variable abstractionsOswald Buddenhagen2012-09-071-112/+113
| | | | | | | | this is preparation for adapting to a new evaluator. Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove unnecessary QMAKESPEC fallback codeOswald Buddenhagen2012-09-031-5/+0
| | | | | | | | QMAKESPEC is now always set Change-Id: Ib3f7356a9260d42315747095e28db6604b2dcfe9 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix assignment of MSVCPROJ_TARGETOswald Buddenhagen2012-09-031-4/+1
| | | | | | | i'm only guessing what was intended here. Change-Id: I72bfa3b5fad63f5b144d34762152e4dd851197ac Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmake vcxproj generator: map TARGET_EXT to $(TargetExt)Joerg Bornemann2012-08-071-0/+1
| | | | | | | | Task-number: QTBUG-26782 Change-Id: Ib143fa6b8674c4d09d798a9301bb209b886e791d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* merge QMAKE_LIBDIR into QMAKE_LIBS earlyOswald Buddenhagen2012-07-271-7/+2
| | | | | | | | | | | | dealing with the directories separately doesn't buy us anything. it's easier to mix them into the libs, as that contains some paths, too, both in projects and in prl files. this brings the windows generators in line with the unix ones. Change-Id: I1f58f7edd8e21d28bfabf04384bac2e315aaf446 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* unifiy initialization of QMAKE_LIBS{,_PRIVATE} among windows generatorsOswald Buddenhagen2012-07-271-3/+0
| | | | | | Change-Id: Ib24ec6e290bfb277232c2483768c1b863f961462 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* dispose of MSVCPROJ_LIBSOswald Buddenhagen2012-07-241-7/+3
| | | | | | | | | | | | | | | this way QMAKE_LIBS{,_PRIVATE} can be treated the same as in all other generators, which allows us to: - make the windows generators' findLibraries() be more like the unix version - dispose of QMAKE_INTERNAL_PRL_LIBS handling while reading prl files (because the output always goes to QMAKE_LIBS) - as a side effect, QMAKE_LIBS_PRIVATE are not subjected to prl file resolution any more, which is again consistent with unix - the correctness of that needs to be assessed separately. Change-Id: Ie9bc04d117eff6a7cde846677f98acf3c64aa6ee Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* remove apparently pointless call to findLibraries()Oswald Buddenhagen2012-07-241-1/+0
| | | | | | | | | | | the function was already called long before. if it really needs to be called again, it's a) probably affecting the other windows generators as well and b) the actual problem should be fixed instead. This reverts commit d50c3c6624b2343e42d0df4b72212d9ced8f3682. Change-Id: Iaa2007640fbc9acdc50ba3b0681efeb0d184f224 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* use QT_INSTALL_LIBS directly instead of messing with QMAKE_LIBDIROswald Buddenhagen2012-07-181-1/+4
| | | | | | | this is what this code assumes anyway Change-Id: I667412b101c18325321a568cc22d25ef07418ffb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmake: remove support for X.sources in DEPLOYMENT variablesJoerg Bornemann2012-07-031-3/+2
| | | | | | | | | | This has been deprecated in Qt 4.8.0. Use X.files instead. Task-number: QTBUG-3216 Task-number: QTBUG-25106 Change-Id: I581321591291118a13403e92da5997497e12c3fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* purge "dumping all variables" debug loopsOswald Buddenhagen2012-06-271-10/+0
| | | | | | | | | the as-we-go dump is sufficient (and usually necessary to actually find the problem). if only the summary is interesting, the -E option can be used now. Change-Id: I9e34c6db9dcb99b38013c4d0cb80b8cb88ca36b5 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* const correctness for variables()Oswald Buddenhagen2012-06-271-2/+2
| | | | | Change-Id: Id11453ccbae3ffa32580badadada945d342d727a Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* don't overuse variables()Oswald Buddenhagen2012-06-271-14/+14
| | | | | Change-Id: Ib2da88e5e29c0bfecc39a9c06e82a34a4bd0b1e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* const correctness for values() callsOswald Buddenhagen2012-06-271-3/+3
| | | | | Change-Id: I1476ae8d3fb7364686398c5650729dee94a8e933 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* purge unused VcprojGenerator::findTemplate()Oswald Buddenhagen2012-06-191-16/+0
| | | | | | it looked fishy for years. now i know why. ;) Change-Id: I822cadecaf8d914f383f9f907b92507852e434b4
* introduce ability to build projects for the host systemOswald Buddenhagen2012-06-191-10/+14
| | | | | | | | | | | | | | | | | when qmake runs into the new option(host_build) command, it will restart the project evaluation with a host spec. the new default host spec is called default-host (gasp!). it is overridden with the pre-exising -spec / -platform option, while the new -xspec / -xplatform option overrides the pre-existing default spec. specifying -spec but not -xspec will set the xspec, too, so the behavior is backwards-compatible. same for the XQMAKESPEC override read from .qmake.cache and the environment variable. the cleaner solution would be adding -hostspec, to be symmetrical with the override semantics, but that would deviate from configure in turn. Change-Id: I4297c873780af16ab7928421b434ce0f1d3820da Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmake vc(x)proj generator: don't create bogus directoriesJoerg Bornemann2012-04-171-0/+3
| | | | | | | | | When creating the temporary project object, Option::output_dir must be adjusted temporarily. Task-number: QTBUG-22788 Change-Id: Ibf8897a46b63f48b9e33d7e2168b09e559cecec7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qmake vc(x)project generator: fix VC++ Express detectionJoerg Bornemann2012-04-121-1/+3
| | | | | | | | | | | | If VC++ 2010 Express and VC# 2010 Express are installed, then the installation path is written in two places into the registry. We're now filtering detected installations with the same installation path. Task-number: QTBUG-24956 Change-Id: I401430e7aa81d96c523d8172d2a2e9d40ebdb3ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* remove support for QMAKE_PLATFORM_DIROswald Buddenhagen2012-03-081-1/+0
| | | | | | | | | | this was a somewhat magic support for sysroots, automatically rewriting a number of path-holding variables. this was (as usual) completely undocumented, extremely fragile, and we are coming up with something better now anyway. Change-Id: I045910f532cb3efc839ea81c7a48f8db695e4092 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* revamp -sysroot and -hostprefix handlingOswald Buddenhagen2012-03-011-5/+5
| | | | | | | | | | | | | | | | | instead of being a variable added to the makespec (via qconfig.pri), QT_SYSROOT is now a property. the QT_INSTALL_... properties are now automatically prefixed with the sysroot; the raw values are available as QT_RAW_INSTALL_... - this is expected to cause the least migration effort for existing projects. -hostprefix and the new -hostbindir & -hostdatadir now feed the new QT_HOST_... properties. adapted the qmake feature files and the qtbase build system accordingly. Change-Id: Iaa9b65bc10d9fe9c4988d620c70a8ce72177f8d4 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* qmake: Work around MSVC compiler bug.Friedemann Kleint2012-02-051-0/+14
| | | | | | | | Disable optimization for getProjectUUID() as it triggers ASSERT: "&other != this" at qstring.h:720 with -O2. Change-Id: I51b31d4318ba9be187c186623099171d8f48235b Reviewed-by: Thiago Macieira <thiago.macieira@intel.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>