aboutsummaryrefslogtreecommitdiffstats
path: root/QtVsTools.Core/MsBuild
Commit message (Collapse)AuthorAgeFilesLines
* Correct style errors in CoreAli Can Demiralp2025-07-148-12/+12
| | | | | Change-Id: I17570e5eab6c0902691c521af408e30aa7dd1a7f Reviewed-by: Karsten Heimrich <[email protected]>
* Remove unused includes and correct include order in CoreAli Can Demiralp2025-06-242-4/+2
| | | | | Change-Id: If8d6f6d39679474756e9ec31feae3e19bbbaac19 Reviewed-by: Karsten Heimrich <[email protected]>
* Implement support for LSP 'configuration' and workspaceFolders' messagesKarsten Heimrich2025-04-101-0/+5
| | | | | | Task-number: QTVSADDINBUG-1298 Change-Id: Ic84a8dc9fa7842afee135dcb0adbe8331d148233 Reviewed-by: Joerg Bornemann <[email protected]>
* Update copyright comments to 2025Ali Demiralp2025-03-1824-88/+43
| | | | | Change-Id: I9ab1f8919a3d28cb546cd71bfdc8da1f6ae9e123 Reviewed-by: Karsten Heimrich <[email protected]>
* Fix VSTHRD003: Avoid awaiting foreign TasksKarsten Heimrich2024-12-101-4/+10
| | | | | Change-Id: Id26c75fa5bda030382730169976028f6bc2d3d91 Reviewed-by: Miguel Costa <[email protected]>
* Use a cancellation token to end various loops in long running tasksKarsten Heimrich2024-09-182-6/+4
| | | | | Change-Id: Ib74f9d939f862738c61526d4336f421ca7fc796c Reviewed-by: Miguel Costa <[email protected]>
* Refactor MsBuildProject.Messages.csAli Can Demiralp2024-09-021-11/+1
| | | | | | | Removed 2 unused functions. Converted lambda to method group. Change-Id: I990188f0467bc0266198f7ef655e96a5cc1d5d2c Reviewed-by: Karsten Heimrich <[email protected]>
* Refactor registry paths in Core and PackageAli Can Demiralp2024-07-291-1/+1
| | | | | Change-Id: I5a211d400c04f9d33dc69ae1aaf11f842f3eae86 Reviewed-by: Karsten Heimrich <[email protected]>
* Use more safe string.Equals(...) functionKarsten Heimrich2024-07-263-15/+15
| | | | | | | Do not throw if the first string object to be compared is null. Change-Id: If5524796d88858afce6172ead46c607c225db216 Reviewed-by: Miguel Costa <[email protected]>
* Add IDC integration to Qt/MSBuildAli Can Demiralp2024-06-172-12/+27
| | | | | | Fixes: QTVSADDINBUG-962 Change-Id: Ia033082f1484ba6126e5509cccadadc0d2cf0387 Reviewed-by: Karsten Heimrich <[email protected]>
* Introduce and use none throwing {File|Directory} helper functionsKarsten Heimrich2024-05-171-8/+8
| | | | | Change-Id: I91f66c8c75a2be043b760b668280a82281fb946f Reviewed-by: Miguel Costa <[email protected]>
* Fix null reference exceptionKarsten Heimrich2024-04-101-7/+8
| | | | | | | | | VersionInformation.GetOrAddBy{Name|Path} can return null if the provided path or name is invalid. To prevent null reference exceptions, implement some checks to ensure safe access to object. Change-Id: I30155bed68213632f1df2e1695612de237efbcb0 Reviewed-by: Karsten Heimrich <[email protected]>
* Correct conversion of moc_predef steps and set output path to $(IntDir)Ali Can Demiralp2024-04-091-2/+5
| | | | | | | | | | | | | The project importer was ignoring moc_predef steps since it was searching for "moc.exe" within their commands, which does not exist, since predefs are handled by cl and not moc.exe. This is no longer the case. Furthermore the predef output was hard-coded to "debug\" and "release\" directories under the project root. This has been changed to respect the $(IntDir). Fixes: QTVSADDINBUG-987 Change-Id: Ibc6b01d68a7cd27bad3c3148a0562ef399ac743b Reviewed-by: Karsten Heimrich <[email protected]>
* Fix import of short options from .pro filesAli Can Demiralp2024-04-083-17/+13
| | | | | | | | | | | Changes introduced in d5eeba97340e5206923c8f0230b5c78c77c69db3 and b2fe8c5c49b7be818dc31da2e8ad8331b49fe2c2 broke the import of .pro files containing short options. This change amends the problem. Fixes: QTVSADDINBUG-1091 Fixes: QTVSADDINBUG-1189 Change-Id: I378a5303b5709e8fb7d6afcaaa676877658976f6 Reviewed-by: Karsten Heimrich <[email protected]>
* Make use of the new settings classKarsten Heimrich2024-03-275-29/+22
| | | | | | | | | | | This patch addresses an initialization issue that occurs when the user waits on the splash screen until Visual Studio is fully initialized. In this scenario, none of the options on the QtOptionsPage are set to their corresponding values from the registry, which may result in incorrect behavior in some cases. Change-Id: I9403289f429244ee4f2f6656f703cdb1f60e486a Reviewed-by: Miguel Costa <[email protected]>
* Add a new and rename existing constants specifying registry pathsKarsten Heimrich2024-03-271-1/+1
| | | | | Change-Id: I35a0183cc00945b9a0a57212d657de4eaddc9b16 Reviewed-by: Miguel Costa <[email protected]>
* Inform user if project Qt installation property is invalidAli Can Demiralp2024-03-262-0/+118
| | | | | | Task-number: QTVSADDINBUG-1132 Change-Id: I4d86de650db1acc723ec579bd6d5108e955a06a6 Reviewed-by: Karsten Heimrich <[email protected]>
* Refactor VersionInformation classKarsten Heimrich2024-03-141-1/+1
| | | | | | | | | | * Make fields and methods properties and reorder them. * Remove really old method to get the Qt version number. * Remove the 'Name' field, preventing redundant storage of version information due to custom name variations. Change-Id: Idbea96c3cf56ec9d6eeda49094cb66f2734d77ba Reviewed-by: Karsten Heimrich <[email protected]>
* Avoid modifying .vcxproj.userAli Can Demiralp2024-03-141-2/+7
| | | | | | | | | | | | | Removed QtLastBackgroundBuild, which was a property that was written, but never read, and had the sole purpose of triggering an update to MOC/UIC/... as well as IntelliSense. Replaced it with QtTouchProperty, which serves the same purpose, but without modifying the .vcxproj.user. Added comments clarifying its purpose to avoid unintentional refactoring in the future. Fixes: QTVSADDINBUG-935 Change-Id: I4d72c9930f07b121fe6437965e7c082b335cf34a Reviewed-by: Karsten Heimrich <[email protected]>
* Change source license to LicenseRef-Qt-Commercial or GPL-3.0-onlyAli Can Demiralp2024-02-2824-24/+24
| | | | | | | | ... WITH Qt-GPL-exception. Fixes: QTVSADDINBUG-1179 Change-Id: I74fe451eec352af13436548cfd9a28f832fc0757 Reviewed-by: Karsten Heimrich <[email protected]>
* Simplify initialization of MOC optionsAli Can Demiralp2024-02-091-60/+13
| | | | | Change-Id: I034155e7e6b2e258010c4605fff1155348bb0c91 Reviewed-by: Karsten Heimrich <[email protected]>
* Fix incorrect string and string list MOC propertiesAli Can Demiralp2024-02-091-5/+3
| | | | | Change-Id: Idb3d9b1c03800b710db7a02b674a34864693f16f Reviewed-by: Karsten Heimrich <[email protected]>
* Update the VS interface of MOC command line options to match 6.6.1Ali Can Demiralp2024-02-091-0/+57
| | | | | Change-Id: I3c841bd3e642e793cf691be5441c35044d64c812 Reviewed-by: Karsten Heimrich <[email protected]>
* Fix RCC interface consistency issuesAli Can Demiralp2024-02-091-7/+10
| | | | | | | | | Fixed temp file parameter of RCC being ignored. Matched the order of parameters in the RCC targets, xml and cs to the command line for easier maintenance. Change-Id: I7e07c47647824b8455b67c153473e5d3ca721546 Reviewed-by: Karsten Heimrich <[email protected]>
* Update the VS interface of RCC command line options to match 6.6.1Ali Can Demiralp2024-02-091-0/+30
| | | | | Change-Id: I43bdd43e4e508bc67ea7429e510afb01e42e81ea Reviewed-by: Karsten Heimrich <[email protected]>
* Update the VS interface of UIC command line options to match 6.6.1Ali Can Demiralp2024-02-091-1/+59
| | | | | Change-Id: I83a323c4586d13d0cdf17d031029c26b7c27264e Reviewed-by: Karsten Heimrich <[email protected]>
* Simplify initialization of REPC optionsAli Can Demiralp2024-02-081-17/+5
| | | | | Change-Id: Ic70ee26902e1deabdf557342b99178d06a10138d Reviewed-by: Karsten Heimrich <[email protected]>
* Remove custom exception class and use existing C# exception typesKarsten Heimrich2024-01-291-10/+12
| | | | | Change-Id: Ia41b6c27cd86465fa1d70094a278e6fc78556fd5 Reviewed-by: Miguel Costa <[email protected]>
* Merge both getter methods to fetch Qt version informationKarsten Heimrich2024-01-162-2/+2
| | | | | | | | * Merges both caches into the version information class itself. * Adapt depending code and classes to the function name changes. Change-Id: I308a0646af815be220f17902e01391819cb33ac8 Reviewed-by: Miguel Costa <[email protected]>
* Convert QtVersionManager to a fully static classKarsten Heimrich2024-01-162-5/+4
| | | | | | | | | * Removed the static instance member and associated lazy instantiation. * Refactored all methods to be static, there is no shared mutable state anyways. Change-Id: I51b8addc81c462c0b7b3dea5a79547960727b722 Reviewed-by: Miguel Costa <[email protected]>
* Refactor Qt version information retrieval for improved concurrencyKarsten Heimrich2024-01-161-2/+2
| | | | | | | | | | * Removed unnecessary initialization delays on extension loading. * Ensured thread safety using a semaphore for cache access. * Utilized concurrent dictionary for version information caching. * Cleaned up code for clarity and maintainability. Change-Id: I01f4d8f4b1bd575d28fa3d3f09c46af7f0fe4c32 Reviewed-by: Miguel Costa <[email protected]>
* Update license year from 2023 to 2024Ali Can Demiralp2024-01-0924-24/+24
| | | | | Change-Id: I38700243f7ef55239b247945324e4e0a978b097f Reviewed-by: Miguel Costa <[email protected]>
* Adjust namespace of Utils class to match folder structureKarsten Heimrich2024-01-089-9/+11
| | | | | | Change-Id: I462c9cc4b96aaf354f77739da64202e2a7dc8af2 Reviewed-by: Ali Can Demiralp <[email protected]> Reviewed-by: Miguel Costa <[email protected]>
* Shuffle around constant registry path valuesKarsten Heimrich2024-01-082-4/+3
| | | | | Change-Id: I674906eeea61bd36eec593a3b2f85ba46fce8664 Reviewed-by: Miguel Costa <[email protected]>
* Fix null reference exception while selecting modulesKarsten Heimrich2023-11-241-1/+1
| | | | | | | | The change ensures that if proVarQT is null (Qt5 Module Main), an empty array is used instead, preventing a null reference exception. Change-Id: I6f66220440cf6df57a31effc1e4ab552cfdb9f4b Reviewed-by: Miguel Costa <[email protected]>
* Fix Qt modules not propely selected after non-Qt project conversionKarsten Heimrich2023-11-231-0/+4
| | | | | | | | | | | When converting a non-Qt project, the properties are not explicitly added to the QtSettings property group. Instead, they rely on the default properties set by 'qt_default.props'. This can result in an issue when modifying a property later from the Qt modules property page UI, causing the default module not to be selected. Change-Id: Iaabe8912307267cf94c6b4faff787b19713a51b7 Reviewed-by: Miguel Costa <[email protected]>
* Fix private modules discarded in .pro importMiguel Costa2023-10-251-4/+5
| | | | | | | | Issue was introduced by 9405f497. Fixes: QTVSADDINBUG-1137 Change-Id: I86aac9bbe5fbac980ef929049fdee17b1b9166c2 Reviewed-by: Karsten Heimrich <[email protected]>
* Fix VS 2019 build after ec8fed82Miguel Costa2023-10-121-4/+4
| | | | | Change-Id: I8f3f707a223e0a0a3857cd584fdf049b461e70dd Reviewed-by: Karsten Heimrich <[email protected]>
* Fix null reference exception while converting a projectKarsten Heimrich2023-10-121-1/+2
| | | | | | | | | | The project in question was a Win32Proj project to be converted to QtV3 project. The project did contain a "ItemDefinitionGroup" without attributes, crashing the conversion process while trying to access the "Condition" attribute. Change-Id: I3b8559e474c2769b15ab4dff32f74a3c099e56c3 Reviewed-by: Miguel Costa <[email protected]>
* Fix V2 conversion not committing changesMiguel Costa2023-10-041-4/+13
| | | | | Change-Id: Ib5798a12cb5a45849b406a8368c740c681179f8e Reviewed-by: Karsten Heimrich <[email protected]>
* Fix broken .vcxproj when auto-generating .qrc filesKarsten Heimrich2023-09-271-2/+7
| | | | | | | | | | | Importing a .pro file may result in a "corrupted" .vcxproj file after automatic .qrc file generation. The generated MSBuild contains an ExcludedFromBuild tag which we have not taken into account, but must. Fixes: QTVSADDINBUG-1113 Change-Id: I65983ae2ae40f7cb2c586c5658a46db7908f359d Reviewed-by: Miguel Costa <[email protected]>
* Amend a548ea, filter the list of Qt modules used in the projectKarsten Heimrich2023-09-271-2/+8
| | | | | | | | | | | | | By first adding all modules from all known Qt versions (currently Qt5 and Qt6), it can happen that we have values for specific modules (namely webengine (Qt5) and webenginecore(Qt6)) duplicated in the list. In the end, we need to filter this list once more to truly add only the modules provided by the Qt version. Fixes: QTVSADDINBUG-1126 Fixes: QTVSADDINBUG-1130 Change-Id: I7905f56616336c2d81bb86a7443c023cf7323151 Reviewed-by: Miguel Costa <[email protected]>
* Fix importing a project with no filters or solution fileKarsten Heimrich2023-09-272-3/+14
| | | | | Change-Id: Ic59164f4b7be144a39550048397877257b154c56 Reviewed-by: Miguel Costa <[email protected]>
* Introduce VcFilterExtensions, move functions, adapt usagesKarsten Heimrich2023-09-011-75/+2
| | | | | Change-Id: I28de3e7db5dfea26167a5310b4ac29ba3f0ad23b Reviewed-by: Miguel Costa <[email protected]>
* Remove Filters class, move getter into FakeFilter classKarsten Heimrich2023-09-011-1/+1
| | | | | Change-Id: Ic1c4020a38eeecf627a05defc6bdab37d3c4d3e8 Reviewed-by: Miguel Costa <[email protected]>
* Enable option to convert non-Qt VC projectsMiguel Costa2023-08-302-4/+4
| | | | | | Fixes: QTVSADDINBUG-27 Change-Id: Ib4408d5c149965828f08435f0442f27561549f71 Reviewed-by: Karsten Heimrich <[email protected]>
* Hide notify messages when solution is closedMiguel Costa2023-08-302-0/+22
| | | | | Change-Id: I6f0408247c5498b7a1398129a768c6ec3bac49b4 Reviewed-by: Karsten Heimrich <[email protected]>
* Refactor project conversionMiguel Costa2023-08-284-534/+543
| | | | | Change-Id: I15f831d6e38fa29e9136fc122ebd5f18dbaaeffb Reviewed-by: Karsten Heimrich <[email protected]>
* Implement converting custom build steps for lreleaseKarsten Heimrich2023-08-233-1/+165
| | | | | | Task-number: QTVSADDINBUG-408 Change-Id: If75fca720782c271253081f54ef23866bb71a6d1 Reviewed-by: Miguel Costa <[email protected]>
* Generate project format conversion reportMiguel Costa2023-08-163-16/+458
| | | | | | | | | | | | | | | | | | | | | | | | Generated conversion reports show which files were modified during the conversion, and allow viewing differences of pre- and post-conversion file contents. Reports will also show changes made during each step (i.e. call to Commit()) of the conversion procedure. Reports are formatted as XAML files, containing a FlowDocument object that can be displayed on a WPF rich-text control. Additional metadata is added to allow viewing pre-conversion file contents (which makes the conversion report also an effective backup of the project). When a project is converted (including from an imported .pro file), a conversion report file is generated next to the project file and with the same name, but with the extension '.qtvscr'. The user is notified of the successful conversion, and given the option to open the report. For that purpose, an editor for '.qtvscr' files (ConversionReportViewer) is also provided. Generated reports can thus be viewed at any time by opening them in the VS IDE (provided that the Qt VS Tools extension remains installed). Change-Id: Id5f360b85b51feddb020c131e4b013aea97f9bb0 Reviewed-by: Karsten Heimrich <[email protected]>