| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added MSBuild customization files to support Qt-specific tasks like moc,
rcc, uic. Instead of custom build steps that only allow a command line
field, which has to be specified for each project item, MSBuild targets
allow each tool to have a dedicated dialog (or "property page") with
one field per tool option. Common options can be specified only once at
project/configuration level and inherited by all items of the same type.
Unlike custom build steps that can only run in sequence, using the Qt
MSBuild targets it is possible to run the tools in parallel processes.
Change-Id: Ie348bccec0402c10299096e51381a88e4a58dad2
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the command line to run lupdate was too long to specify individual
source files, a temporary .pro file was created instead. The processing
of the .pro file then triggered the same issue as QTVSADDINBUG-472
(qmake unable to find cl without VC vars). Removed the need for the
temporary .pro file by using the '@' option of lupdate (added a call to
SetVCVars() before running lupdate, just to be on the safe side).
Task-number: QTVSADDINBUG-491
Change-Id: I6bce4c1c72093eceee8d1951bbbe464c072ba1a3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Removed an unused variable declaration that was generating a warning.
Change-Id: I52859561f5b99756104e942ebf3d5a25afacbef0
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The moc step for cpp files was redesigned to allow macros like
%(RelativeDir) to be used in the output path. Previous approach relied
on a single .moc file acting as both source of the custom build step
and as output. The new approach uses a dummy file for the custom build
step definition (similar to moc_predefs.h.cbt) required to generate the
.moc file.
Task-number: QTVSADDINBUG-105
Change-Id: Ia202fca8a5c6df1ca0d9e64a5719726155555bbe
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Modified moc step to allow macros like %(RelativeDir) to be used in the
output path. This enables the support of projects with moc source files
with the same name in different directories.
Task-number: QTVSADDINBUG-105
Change-Id: Ia34edae3d1f63f5f3af2ae52dbe1cfaef7fafb35
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
In the VS 2017 build, added a reference to:
Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime.dll
After the update of Visual Studio to version 15.3.4, this assembly must
be added as a reference, otherwise we get a few errors with:
"Cannot find the interop type that matches the embedded interop type".
Change-Id: If871da35eb6517b07b7cf23194fdf38dd8503bf4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During .pro file import, RefreshRccSteps() now looks into subfilters
for rcc outputs to remove instead of just the top-level filter. In the
case where qmake generated a project structure with rcc outputs in the
"Generated Files/debug" and "Generated Files/release" filters (which is
the case with CONFIG -= flat), RefreshRccSteps() did not correctly
handle these outputs as it only looked for them in the topmost
"Generated Files" filter.
Task-number: QTVSADDINBUG-439
Change-Id: I2b71f0a511b2dd487f01f08fbc201e5f5006f72c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In VS2013/15, if the LocalDebuggerEnvironment property is already
defined when setting the QTDIR property, then it will be stored in the
.user file before the QTDIR property, which is an error because there
is a dependency. To work around this, we first remove the property and
then add it after QTDIR is set.
Task-number: QTVSADDINBUG-363
Change-Id: Iddeb27e5d719c3da6623dbcee735b7f3fc4b3604
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Instead of calculating the path to the compiler, calls the vcvars batch
file and adds the environment variables to the qmake process start
information. This ensures that qmake will have all available details
about the compiler.
Change-Id: Ie2f82851c57677ddc8bd186a920585e591122fe5
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I2b425131f56c44d7a3fc172bf43b3dc11817971a
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed DeleteFilesFromFilter to exclude .cbt files. These files are
generated by qmake when importing the .pro file and should not be
deleted. DeleteFilesFromFilter deletes moc_predefs.h.cbt and this
causes the moc_predefs.h file to be generated at every build.
Task-number: QTVSADDINBUG-410
Change-Id: I9793751baf8eb948b647bedf04109b4df1d32aae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
| |
Corrected the reference to the ExtensionsExplorer.UI from v14 to v15.
Change-Id: Ia0c1fdf6aaa1a17d42414049e2775173477bdf1f
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Post build modifications to the VSIX package are now configured in the
project. The post build produced a package that would fail on install
with the following error:
System.IO.FileFormatException: File contains corrupted data.
Task-number: QTVSADDINBUG-460
Change-Id: I36e8aac3dc2877b128ffe5a9cd112f6bf1605e73
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Before invoking qmake, add path of compiler to the environment.
qmake requires this in order to invoke the compiler during conversion.
Calculation of the compiler path extracted from vcvars.bat
Task-number: QTVSADDINBUG-472
Change-Id: I148dd9aac60830357b3553c4b55faa70c9ed9642
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Checks if item is of type CustomBuild before accessing custom tool
information. Accessing the custom tool information before setting the
item type to CustomBuild generates an exception while adding the moc.
Task-number: QTVSADDINBUG-396
Change-Id: Icec885894e6c3abd78b324f98a6028c41f1a2029
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
* Update Prerequisite toolset
* Use the right PlatformToolset version
* Disable AddFilter code causing an infinite loop
* Update the checksum after patching the vsixmanifest file
Task-number: QTVSADDINBUG-459
Change-Id: I9e3054734a2039b9ad5af2e9f2d275356d074d31
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
| |
Task-number: QTVSADDINBUG-459
Change-Id: I91b801aa1061e72541e6a77aa9d317e238f58593
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: Ie68f4a12decd6dc197cc556da53ca6581abeb71f
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
| |
Change-Id: I94ced1a8e951c865da9d63f39187f50908274622
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Return early if the file does not exists. In case of
an exception, dump it to the debug output pane instead
of showing countless message boxes.
Task-number: QTVSADDINBUG-453
Change-Id: Ie97a733b72f6da5deca099bb19ba3e2a1ca54d0c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I6d82544fb98afcba8911cb58ed21cdaad61e7681
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I8151ca09855226873618c0db9d966b8ce638ad02
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I8c70c84557a03edd1a3181a4268cbfa1a085e206
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I25929f46f1c0d68515107d693dedbb0d7154521a
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Id133f375ba1b1e916fde739c9e2ea06f096be0f7
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I07876437b8750169212b264dc347ff00e4135e59
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Idbbced8788078c925ee8b230fb291ee62b92d724
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Ibcaa841b3daabcd7512104622775bebe256ae721
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
First step to speed up the import of Qt projects from .pro files.
Execute parsing for Q_OBJECT, Q_GADET macros in parallel and move
it to a background task to not block the UI. This gains us close
to 50% on a capable machine in combination with the former patch.
Change-Id: Icb8acb1a633833dc490e94e3c9609894d30a7d4b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
| |
Load the file as a whole and perform an initial search on the file
before parsing line by line, e.g. to find Q_OBJECT, Q_GADGET macro.
Change-Id: Ied69749be6ce5c2e92a31da211df087f580db5d2
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Iab67c15c3e0e597c2e8ee535e59a5668039efe7a
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The version manager did this before, but not the actual class
itself. Since this class could be instantiated on its own, we
had to obtain the stored information again and again from qmake
which is quite expensive. (Noticed while importing a large .pro)
Change-Id: I8462b9cf76758fff89323cd78aa59cf8cc82e124
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I1323a3fcddf0c8733f59ce210c304564587f0534
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I75d5bdee8aa115372eb4171cef4667cb1458e009
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We remove our rather slow Classifier implementation and reuse the
existing files from Baptist Benoist and cpp-qt.tmbundle.
The aforementioned files implement QML and qmake syntax highlighting
based on Visual Studio's capability to load TextMate bundles.
Reference repositories:
vscode-qml: https://github.com/bbenoist/vscode-qml
cpp-qt.tmbundle: https://github.com/textmate/cpp-qt.tmbundle
Change-Id: Ie3d0e01e1991b441c8e02e45a9fef3674844d9bf
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
| |
See the Qt Visual Studio Tools Wiki on how to use the file.
This makes it fairly easy to test the update mechanism or to
deploy the extension in-house.
Change-Id: Ia85fba35b8859d88732e0d86dcf5c929be208d8c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I581a267463ca6a41ac505e6773c0eb1f1bc153ef
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I085f12b3d621486980631533daf27de21d045564
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Ieac9a2f16a70f48e4267a0b3c6308652eb7d8f9e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
| |
Right now we changed only the files that would be opened by
the editor. Better do it soon as we create the files and we
know all of them.
Change-Id: Id67b3643938654d1d24bd31cb0a6255d5ebc2566
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
| |
MOC uses a different parser now and will not understand the old
format, write it in a way MOC can handle it. Also fix splitting
the include path to support path with spaces, like ".\foo bar\".
Change-Id: I806fa284f76c80291adef3e65caa8ec21cbcbf82
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTVSADDINBUG-445
Change-Id: I285c04fef5fdde04d110546d7cc19222b9f0acd2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I4ab0fc0b6c2dcd4ddd35ef749bf10db5f3e83172
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: I0108194afd445bbefb4b433a39e9e92a1634a718
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
| |
No need to delay the error message, remove the timer. Also show
an error message if the user tries to use $(QTDIR) but we can't
find it in the environment, propably a VS restart should fix it.
Change-Id: Ie25b2588fd9c0d30d47ee384e3db4672ba103601
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
| |
Task-number: QTVSADDINBUG-407
Change-Id: I6a93b2eff62abb6c7f16b5eb8147a9541d0fdd3d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ibf35fe4e76389edb8e2a4cd150de6a5512d38107
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the VS Gallery expects each VSIX having a different GUID,
we need to have a separate .vsixmanifest file per VS version.
Put the configuration stuff in a dedicated directory, split the
AfterBuild from the actual .csproj and have a .targets file and
.vsixmanifest per Visual Studio version. Update the README file.
Change-Id: I32ffee1c40345812b7f2232987e4e7a5b20c3da6
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|