summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msvc_objectmodel.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qmake: added support for WindowsMetadataFileKamil Trzcinski2013-09-151-0/+11
| | | | | | | | | 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/+7
| | | | | | Change-Id: I2a67779bcb38af85a2c43d3e9a15aa3ba45b4788 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/+2
| | | | | | | | | 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>
* 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>
* 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>
* basic manifest tool support in vc(x)proj generatorJoerg Bornemann2013-06-251-0/+28
| | | | | | | | | | | 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>
* Don't depend on the command for extra compilers automaticallyAndy Shaw2013-06-201-1/+0
| | | | | | | | | | | | For vcproj files we should not automatically add a dependency for extra compilers as this should be done via the depends variable for the extra compiler instead. This fixes a problem where something like '@echo command' was used in the command as it would depend on echo and not the actual command anyway. Change-Id: I7c0aa0d62143aa39c518e8bce65f302afdba33c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake/vcxproj: fix parsing of /RTC* optionsJoerg Bornemann2013-05-071-10/+23
| | | | | | | | | /RTCsu and /RTCus must be handled as full runtime check options. Task-number: QTBUG-30711 Change-Id: I783bf49f2ab1d4fd9636dca8e434bccb54844c8c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/vcxproj: resurrect support for /we compiler switchJoerg Bornemann2013-05-071-0/+6
| | | | | | | | | | | | 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>
* Write two missing linker options to the vcxproj fileAndy Shaw2013-04-111-0/+4
| | | | | | | | Both the /NXCOMPAT and /DYNAMICBASE options were handled by qmake but never written to the vcxproj file even if they were set in the pro file. Change-Id: I4ca26fb312648944c25d3a24cdc8c640c9de619d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake/MSVC: fix parsing of the /openmp optionJoerg Bornemann2013-02-041-3/+12
| | | | | | | Task-number: QTBUG-29143 Change-Id: I6b1ce0babf51701fa404b821b22060a87c4f46b2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* do not parse MSVC option /Gs as /GSJoerg Bornemann2013-02-041-3/+1
| | | | | | | | | | | /Gs[size] will be added as additional option as there is no XML element for this option. Task-number: QTBUG-29329 Change-Id: I1f09bfdac90f9c5f2333dc03e6e4e6a206b4f6d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake/MSVC: do not disable buffer security check per defaultJoerg Bornemann2013-02-041-1/+1
| | | | | | | | | | The default must be "unset" to let the user's MSVC settings decide what the default value is. Task-number: QTBUG-29329 Change-Id: I6015202c123dbb7304941b0d24557a26a1e3236c 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 extra compilers in vcxprojs for single config modeJoerg Bornemann2012-12-101-0/+10
| | | | | | | | | | | | In single config mode extra compilers were not written to Visual Studio project files, because they were not added to the fake project object we're using to write a single config project. Task-number: QTBUG-27505 Change-Id: Ie57b648861573496252f1383dc77e0729e244947 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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-5/+5
| | | | | | | | | | 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>
* introduce qmake variable abstractionsOswald Buddenhagen2012-09-071-10/+17
| | | | | | | | 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>
* don't overuse variables()Oswald Buddenhagen2012-06-271-7/+7
| | | | | Change-Id: Ib2da88e5e29c0bfecc39a9c06e82a34a4bd0b1e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmake vcproj generator: unused variable removedJoerg Bornemann2012-04-171-1/+0
| | | | | Change-Id: Iaf8bb1772846001297e1a421c3860f5e4d090a35 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QByteArray: deprecate QT_NO_CAST_FROM_BYTEARRAY-protected operatorsMarc Mutz2012-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QByteArray::operator const {char,void}*() implicit conversions are a source of subtle bugs, so they right- fully can be disabled with QT_NO_CAST_FROM_BYTEARRAY. const char *d = qstring.toLatin1(); // implicit conversion while ( d ) // oops: d points to freed memory // ... But almost no-one ever enabled this macros in the wild and many were bitten by these implicit conversions, so this patch deprecates them. I would have liked to remove them completely, but there are just too many occurrences even in Qt itself to hope to find all conditionally-compiled code that uses these. Also fixes all code that needs to compile under QT_NO_DEPRECATED (in qmake/, src/tools/). I984706452db7d0841620a0f64e179906123f3849 separately deals with the bulk of changes in src/ and examples/. Depends on I5ea1ad3c96d9e64167be53c0c418c7b7dba51f68. Change-Id: I8d47e6c293c80f61c6288c9f8d42fda41afe2267 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Lars Knoll <lars.knoll@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>
* QMap => QHashOswald Buddenhagen2012-01-101-1/+2
| | | | | | | | | | | | this should make the evaluator quite a lot faster. the total win for qtbase/src is only 6%, though. i made some effort to avoid that output files get randomized. however, i didn't bother to keep debug output sorted. Change-Id: Id9cef4674c0153c11ebbb65cb63bf8c229eb56e3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qmake: fix /MP option for VS 2010Joerg Bornemann2012-01-081-3/+3
| | | | | | | | | Setting QMAKE_CFLAGS+=/MP in a project file did not work for VS 2010. Task-number: QTBUG-23490 Change-Id: I39c349bf8dc2a4add2f32a430a245a20cc54147e 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>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+2909
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12