aboutsummaryrefslogtreecommitdiffstats
path: root/src/qtmsbuild/qtrcc.targets
Commit message (Collapse)AuthorAgeFilesLines
* Refactor Qt/MSBuildMiguel Costa2019-06-211-384/+0
| | | | | | | | | | | | | | | | ** Reorganized the file structure of the MSBuild props and targets files for Qt. Files pertaining to each Qt tool will now reside in a corresponding subfolder of the Qt/MSBuild directory. In each subfolder, the lists of props and targets files to import, as well as any dependency to other tools, are defined in the file 'qt_import.props'. ** Renamed rule (i.e. property page) names to force the order in which they will be listed in the project properties dialog. ** Other minor refactoring adjustments Change-Id: I44d7e3bb106f9103b0bfb7328a1393f75d1576d8 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use relative paths for output of Qt toolsMiguel Costa2019-02-081-1/+6
| | | | | | | | | | If the output of a Qt tool is given as an absolute path, this will now be converted during build to a path relative to the project directory This allows the use of %(RelativeDir) when referencing Qt outputs. Task-number: QTVSADDINBUG-611 Change-Id: I9643200ac43fe19b9908d06d100d59237ecc7a4e Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Process generated sources in file compilationMiguel Costa2019-02-081-1/+1
| | | | | | | | | | When compiling a single file (e.g. right-clicking on file in solution explorer and selecting "Compile", or pressing Ctrl+F7 when editing a file) with moc or rcc/qtquickcompiler, will now also compile the C++ source(s) generated by the Qt tool. Change-Id: Id04b7c2d63e0442f619832ee775cbdd29bff18ad Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix rcc error when $(QTDIR) contains spacesMiguel Costa2019-01-301-1/+3
| | | | | | | | | | | | | | | Same rationale as: Fix rcc error when paths contain spaces 6a30d6777b5e17006edda4fc8a1fc038e5a304d2 Besides the path to the QRC and to the output file, the path to rcc.exe, which depends on $(QTDIR), also requires surrounding quotes, given that $(QTDIR) may contain space characters. Task-number: QTVSADDINBUG-608 Change-Id: I556acfcbf6998620882d8f237894c414af256b16 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix rcc error when paths contain spacesMiguel Costa2019-01-281-1/+9
| | | | | | | | | | | During the build preparation phase in Qt/MSBuild, When calling rcc to list the resources in QRC files, will now add quotes around paths in the command line of rcc. Previously, if those paths contained spaces, the call to rcc would fail. Task-number: QTVSADDINBUG-608 Change-Id: I5a896d9458c2c76a30ca06315cfceb67ad1534ed Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Don't show rcc warnings when listing resourcesMiguel Costa2019-01-151-1/+1
| | | | | | | | | | When running rcc at the start of build to list the contents of resource files, redirect stderr to null to suppress any warnings. As rcc will be invoked again as part of the actual build, this prevents the same warning messages from being shown twice (e.g. in case of an empty file). Change-Id: I149ad189e740b070f9becbbed4d8b6dae3312740 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix incompatibility with VS 2015Miguel Costa2018-11-271-5/+10
| | | | | | | Fixed VS 2015 incompatibility issues in the reworked Qt/MSBuild. Change-Id: I28e58e081f760142261343d37f1561022d557726 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Rebuild QRC file if resource files changeMiguel Costa2018-11-271-1/+30
| | | | | | | | | | | Qt/MSBuild will now set the resources inside a QRC file as dependencies of that file, such that changes to the resources will trigger a rebuild of the QRC file. Previously, this dependency was only possible through manual configuration of the "Additional Dependencies" rcc property. Task-number: QTVSADDINBUG-526 Change-Id: I23abddc195b98a0001d597fd943234b4f573d05c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix manual compilation not workingMiguel Costa2018-11-191-19/+30
| | | | | | | | | | | | Reworked the support for manual compilation (i.e. 'Compile' option in the project file context menu). This had several issues, including never calling rcc in a manual compilation if no moc headers were present; this was due to the way the Qt/MSBuild targets' dependency chain was set up. Also, selecting multiple files for manual compilation was not working. Task-number: QTVSADDINBUG-584 Change-Id: I627914201e7768beaf3a0aa2acf297ebeb032277 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Refactor and optimize Qt/MSBuildMiguel Costa2018-11-131-0/+324
The Qt/MSBuild definitions had unnecessarily repeated code and used some inefficient algorithms. Most notably, the scheduling of parallel processes to run Qt tools relied on a work file, that was generated and used during the build. Replacing this file with an in-memory structure would be more efficient. Furthermore, since the targets were all in the same file (qt.targets), this would quickly become an issue with scalability and maintainability. With the prospect of new features being added to Qt/MSBuild (e.g. QML cache generation, aka. qtquickcompiler), refactoring / optimizing Qt/MSBuild became a priority, which is what this patch addresses. The following modifications were made: - Split qt.targets into smaller files: a target file per Qt tool, containing definitions specific to that tool; one file containing common definitions; one file containing inline (C#) utility tasks; - Modified the Qt tools process scheduler to use an in-memory list of work, instead of using a file; - Added the ability to define dependencies between work items in the Qt tools process scheduler, i.e. the start of one tool depending on the completion of another; this feature is required by a subsequent patch (QML cache generation); - Added license headers to files; - Added comments to major/important blocks of code; - Improved readability (e.g. formatting code to fit 100 columns) - Added debug log messages Task-number: QTVSADDINBUG-428 Change-Id: If7b1897c8ce084f08073adfe7d9c266c8b4b2c2c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>