summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msvc_vcproj.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix dependency resolution for extra compilers in VS projectsJoerg Bornemann2020-01-071-0/+2
| | | | | | | | | | | | | | De-duplicate the code that calls the extra compiler's depend_command by using the central function callExtraCompilerDependCommand. This one actually tries to resolve dependencies unlike the removed code that blindly resolved relative paths to the build directory. This fixes dependencies reported by uic which need to be resolved against what is in DEPENDPATH. Fixes: QTBUG-80579 Change-Id: If482e50ff3eff716fefffee82004acc076b3a547 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-071-0/+2
|\ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp src/plugins/platforms/cocoa/qcocoaintegration.h src/plugins/platforms/cocoa/qcocoaintegration.mm Done-With: Jörg Bornemann <joerg.bornemann@qt.io> Change-Id: I5a61e161784cc6f947abe370aab8f2971a9cbe78
| * Fix QMAKE_EXTRA_COMPILER names in VS projectsJoerg Bornemann2019-05-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the whole value of 'name', not just the first element, and also replace variables like ${QMAKE_FILE_IN}. This fixes the file_copies feature (COPIES) for Visual Studio projects, because for every entry in COPIES an extra compiler is created with a name 'COPY ${QMAKE_FILE_IN}'. Before this patch the name and the generated file filter would be just 'COPY'. However, duplicate filters are being skipped by the VS project generator. All but the first COPIES entry was ignored. Fixes: QTBUG-76010 Change-Id: Icaa5d2cb8d88ae3ef8ce86220198bca1b9e673f5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-281-0/+1
|\| | | | | | | Change-Id: Icc9b061c56e969756f0351c936cdeb8063c86079
| * vcxproj generator: Fix files being in multiple filtersJoerg Bornemann2019-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | Visual Studio doesn't support files being in multiple filters and refuses to load such projects. Source files that appear in variables that are mapped to file filters (SOURCES, TRANSLATIONS, ...) must not be added to a second filter if they are input for an extra compiler. Fixes: QTBUG-74004 Change-Id: Id2d752059c98d04e8154a7848c91f29a94bd092a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Support 'CONFIG += precompile_header_c' in VS projectsJoerg Bornemann2018-11-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The CONFIG value precompile_header_c was ignored in the VS project generator. Add a member VcprojGenerator::pchIsCFile that is set to true if precompile_header_c is active. The code in modifyPCHstage had to be rearranged to separate the three parts for stable.h, stable.cpp and other files. Task-number: QTBUG-62821 Change-Id: I340eb165baa22cafcb64815cf223ce9a21aca558 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Rename VcProjGenerator::[autogen]precompCPP to [autogen]precompSourceJoerg Bornemann2018-11-241-2/+2
|/ | | | | | | | Those names are a better fit as we want to support C precompiled headers in a subsequent commit. Change-Id: Ie3f852da945b9b2cf0e363c81f1a4b3063f27372 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* qmake: Apply modernize-use-overrideAlessandro Portale2018-08-081-9/+9
| | | | | | | Add overrides to functions, except for destructors. Change-Id: I6e4640aa95a5c97d6bd6f6d8692d3290c421344e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix unnecessary regeneration of mocables in VS projectsJoerg Bornemann2016-12-211-0/+1
| | | | | | | | | | | | | | | | | | | Change dcd2f829 introduced fake files with the extension .cbt for custom build tools that generate code from C++ source inputs. The moc_predefs.h header file falls into this category, because it is generated from dummy.cpp. It turns out that these fake files have to exist. Otherwise the custom build step is executed on every build. That means re-moccing all mocables on every build. Fix this by actually creating the fake .cbt files with some explanatory comment in them. Task-number: QTBUG-57695 Change-Id: I251294334425d9914677787d8ba6da1169b4cca5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix circular dependencies in generated vcxproj filesJoerg Bornemann2016-12-011-0/+1
| | | | | | | | | | | | | | | | | | | | | For QMAKE_EXTRA_COMPILERS with inputs that are "buildable" (e.g. C++ sources) the custom build step is added to the output file. From Visual Studio's point of view this looks like a circular dependency (e.g. foo.moc generates foo.moc). Usually this just prints a warning that can be ignored. But this circular dependency also breaks dependencies between custom build steps. This became noticeable when the generation of moc_predefs.h was added. Generating moc_predefs.h must be done before any moc custom build step is executed. This patch fixes the issue by using fake files (output file plus suffix ".cbt" for "custom build tool") that act as dummy inputs for the custom build tools. Task-number: QTBUG-16904 Task-number: QTBUG-57196 Change-Id: I4711e44a0551046d215db151fa0312af8a9177a2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix type of VcprojGenerator::extraCompilerOutputsJoerg Bornemann2016-11-301-1/+1
| | | | | | | | The values of this hash are strings, not lists of strings. Enforce this by using the proper type instead of just using a comment. Change-Id: Id8a13acdceb8f9f8a9a8eaa04e790b1e6cd5faa7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Updated license headersJani Heikkinen2016-01-211-17/+12
| | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* MakefileGenerator::processSources() doesn't need to be virtual.Edward Welbourne2015-11-131-1/+0
| | | | | | | | Only VcprojGenerator over-rode it; and did so with a replacement identical to the one on the base, so there was no point to it. Change-Id: I5b899372247809c82b1cae25817e06c5849cd10d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* remove superfluous method re-implementationJoerg Bornemann2015-04-271-3/+1
| | | | | | | | | | Remove a superfluous implementation of VcprojGenerator::replaceExtraCompilerVariables. The implementation in the base class is exactly the same. Use that instead. Change-Id: Ie7d995be1b0d55fbefd15ae6b7a992237d97839c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* fix extra compilers with indirect outputs in VS projectsJoerg Bornemann2015-04-231-0/+2
| | | | | | | | | | | Evaluate the .output variable of the extra compiler to determine the file extension of its output. The VS project generator needs it to determine the filter that will contain the output file. Change-Id: Iab1e154a712342401e17421c08975fad13967a5b Task-number: QTBUG-45717 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* add DISTFILES support for Visual Studio projectsJoerg Bornemann2015-03-271-0/+1
| | | | | | | | | | Files in DISTFILES are placed into a "Distribution Files" folder under the project node. Task-number: QTBUG-43162 Change-Id: Ib75aacf1010d9ea63af89d4a9cc92275d714b3cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix filename handling in replaceExtraCompilerVariables()Oswald Buddenhagen2015-02-171-3/+4
| | | | | | | | | | | fixing and escaping is now a tri-state option: - none (this removes the need to unescape the result right afterwards in some cases) - local shell (for system()) - target shell (for Makefile) Change-Id: I5b78d9b70630fe4484dc964eff5f62793da35764 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* inline initOld()Oswald Buddenhagen2015-02-021-1/+0
| | | | | | | the separation serves no purpose except confusing. Change-Id: I6a0d04b2162a4eee7a200345e94baa272120ea5b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* inline outputVariables()Oswald Buddenhagen2015-02-021-1/+0
| | | | | | | it's debugging code which is used only once (if even uncommented). Change-Id: Ie57347017dd24f4acecff2a7132f82898dea3122 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* prune dead fixFilename() functionOswald Buddenhagen2015-02-021-1/+0
| | | | | Change-Id: I84bafecccec286094701874b2780b45d08797524 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove pointless double initialization guardsOswald Buddenhagen2015-02-021-1/+0
| | | | | | | this isn't some fuzzy logic, the call sequence is well determined. Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove unsupported winrt mkspecsAndrew Knight2014-12-161-1/+0
| | | | | | | | | These mkspecs are not supported and no longer compile. Related support in qmake has also been removed. Change-Id: I7706dcfa5471e55e2ae3d580d65e9371e2c652d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* qmake vcxproj generator: write PrimaryOutputExtension valueJoerg Bornemann2014-10-221-0/+1
| | | | | | | | | | | | | Second attempt. MSVCPROJ_TARGET contains the resolved target name, including version number and target extension. We're splitting this value into PrimaryOutput and PrimaryOutputExtension. PrimaryOutputExtension is only written if it contains a non-default value. Task-number: QTBUG-26782 Change-Id: I4b828dc5dd47322f653585aee1a5767f0cf8bd48 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* move platform toolset retrieval to VcprojGeneratorJoerg Bornemann2014-04-031-0/+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>
* qmake: Provide feature for windeployqtAndrew Knight2014-02-111-0/+1
| | | | | | | | | | | | | | 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: added WMAppManifest generation for winphone targetKamil Trzcinski2013-09-171-0/+1
| | | | | | | | | | | | | | | 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-0/+1
| | | | | | | | | | | | | 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>
* basic manifest tool support in vc(x)proj generatorJoerg Bornemann2013-06-251-0/+1
| | | | | | | | | | | 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>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Bring subproject dependencies in line with Makefile generatorsAndy Shaw2012-09-271-1/+9
| | | | | | | | | | 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>
* 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>
* dispose of MSVCPROJ_LIBSOswald Buddenhagen2012-07-241-6/+0
| | | | | | | | | | | | | | | 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>
* purge unused VcprojGenerator::findTemplate()Oswald Buddenhagen2012-06-191-1/+0
| | | | | | it looked fishy for years. now i know why. ;) Change-Id: I822cadecaf8d914f383f9f907b92507852e434b4
* 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-2/+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>
* Make QUuid a class.Friedemann Kleint2012-01-061-1/+1
| | | | | | | | Silence MSVC warnings about forward-declarations as class in the metatype system. Change-Id: I676662e5919585e98c87413fd8360d6f41f73631 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@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
* qmake vc(x)proj generator: support x64 Qt buildsJoerg Bornemann2011-05-061-0/+1
| | | | | Task-number: QTBUG-17911 Reviewed-by: ossi
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+151
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