aboutsummaryrefslogtreecommitdiffstats
path: root/src/qtprojectlib/QtMsBuild.cs
Commit message (Collapse)AuthorAgeFilesLines
* Clean up solution and namespacesMiguel Costa2020-11-271-1567/+0
| | | | | | | | | | * Renamed QtProjectLib to QtVSTools.Core * Cleaned-up/renamed solution folders * Moved qmakefilereader, qrceditor, vsqml to Tools solution folders Task-number: QTVSADDINBUG-735 Change-Id: I246a7f555a1171c5ab00f6d8efc0ff01228ea693 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Import qmake projects with repc custom buildsMiguel Costa2019-05-081-14/+245
| | | | | | | | | | When generating the .vcxproj for a project that includes remote object templates, qmake will add a custom build step for those templates. For the "Import .pro file" feature, this custom build must be converted to a corresponding Qt/MSBuild item. Change-Id: If0fb34e069f050be3265bf81639cc69a5cbff3fe Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add macro expansion support to command line parserMiguel Costa2018-04-121-18/+22
| | | | | | | | | | | | Added support for macro expansion while parsing command line strings of Qt tools. This is needed to process '@' options containing macros. In this case, to determine the path to the options file, the macros must first be expanded, otherwise parsing will fail and cause errors in calling code, e.g. in the conversion from custom build to Qt/MSBuild. Task-number: QTVSADDINBUG-533 Change-Id: Ib48813a2452c918f2989b5e27f903c7ad2fb8a2a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix command line parser not working with '@' optionMiguel Costa2018-03-231-11/+31
| | | | | | | | | | | | | Command line parser for moc now takes into account '@' options. Previously '@' options were not considered, which led to errors, e.g. when converting .pro files with long INCLUDEPATH definitions. The expansion of the '@' option is encapsulated in the command line parser, i.e. the calling code will see the expanded command line, with the '@' option replaced by the contents of the option file. Task-number: QTVSADDINBUG-510 Change-Id: If4a18eea7802d452c0d73cd01c09d1d4809ef319 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix bugs in handling of .cpp moc sourceMiguel Costa2017-12-221-84/+139
| | | | | | | | | | | | Reworked the property definition strategy for Qt/MSBuild properties (i.e. deciding when to set properties at project or item level). The previous approach did not handle correctly the case of .cpp moc files. Also fixed a bug in RefreshMocStep that was causing build failure with .cpp moc files when the moc output path was modified in the Qt Project Settings dialog. Change-Id: Icae4ffa7aa42e679a4cfcb87ee866dc8f7f01cf6 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Use XML transformation to convert to Qt/MSbuildMiguel Costa2017-12-221-3/+66
| | | | | | | | | | | | | Convert projects based on custom build steps to Qt/MSBuild. The converted projects do not include generated files for optimized performance. The conversion uses only an XML transformation instead of the Visual Studio SDK. This speeds up the import of .pro files, especially for large projects as the performance of the VS SDK tends to degrade with the number of calls to the COM interfaces. Task-number: QTVSADDINBUG-442 Change-Id: If59a52f44eb2eb4dd99f386c5b695aa56025e900 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Do not add generated files to projectMiguel Costa2017-12-211-0/+2
| | | | | | | | | | | | | | Files generated by the Qt tools are no longer added to the project structure. Source files generated by moc and rcc are included in the build dynamically. This allows for an increase in performance of the VS Tools (e.g. when adding header files to a project, 90% of the time is spent processing generated files). NOTE: Only works for new files/projects. This patch breaks import and conversion of existing projects. Fixed in a following patch. Task-number: QTVSADDINBUG-64 Change-Id: I8762adfc08962a54da256fe5ced6e1ec4504caaf Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix command line parser not working when adding moc fileMiguel Costa2017-12-201-1/+2
| | | | | Change-Id: I51acae97067da9ab1876fa53630393b89a4b551b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Convert custom build command strings with multiple lines2.1Miguel Costa2017-12-121-1/+1
| | | | | | | | | | | | | When converting custom build steps to Qt/MSBuild target items, the conversion procedure will now be able to handle command strings with multiple lines. In these cases, only the sub-string with the relevant command will be considered. Custom build steps with multiple lines are potentially problematic, e.g. if empty lines are present in the command string (see associated issue for example of this problem). Task-number: QTVSADDINBUG-414 Change-Id: I93ae2f233ee35d27462b9087ada58b1134102e87 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Replace custom build steps with MSBuild targetsMiguel Costa2017-12-011-0/+1191
Overhaul of Qt tool (moc, rcc, uic) usage in generated projects. Running the Qt tools on project files no longer relies on custom build steps but rather on Qt-specific MSBuild targets that are installed together with the VS Tools. Older projects generated with previous versions of the VS Tools can be converted to use the MSBuild targets Conversion is not mandatory as custom build steps are still supported. Change-Id: I4c01491b2c263deb2cdf2c5fcc12ecdf718eb11f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>