From 34cb20862559eed3225fb0875b01aace38cbd3b6 Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Thu, 19 Jan 2023 13:19:17 +0300
Subject: [PATCH] Правки генерации и удаления moc файлов: 1) Теперь в фильтре проекта GeneratedFiles создаются подфильтры для каждой конфигурации и платформы (актуально для конфигов CODE64). 2) Исправлено добавление и удаление moc конфигураций в vcxproj и vcxproj.filter файлах проектов (в старой версии плагина с этим была проблема и как следствие - возникали ошибки сборки связанные с moc'ами). 3) Теперь при выключении сборки проекта в Solution Property -> Configuration Properties для определенной конфигурации и разрядности не будут генерироватся moc файлы.

---
 QtVsTools.Package/Package/DteEventsHandler.cs |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/QtVsTools.Package/Package/DteEventsHandler.cs b/QtVsTools.Package/Package/DteEventsHandler.cs
index df8bfc4..2351596 100644
--- a/QtVsTools.Package/Package/DteEventsHandler.cs
+++ b/QtVsTools.Package/Package/DteEventsHandler.cs
@@ -301,6 +301,8 @@
                         foreach (VCFile fileInFilter in (IVCCollection)generatedFiles.Files) {
                             if (fileInFilter.Name == moccedFileName) {
                                 foreach (VCFileConfiguration config in (IVCCollection)fileInFilter.FileConfigurations) {
+                                    if (HelperFunctions.IsConfExcludeFromSolution(config))
+                                        continue;
                                     var exclude = true;
                                     var vcConfig = config.ProjectConfiguration as VCConfiguration;
                                     if (hasDifferentMocFilesPerConfig && hasDifferentMocFilesPerPlatform) {
@@ -328,6 +330,8 @@
                             foreach (VCFile f in (IVCCollection)filt.Files) {
                                 if (f.Name == moccedFileName) {
                                     foreach (VCFileConfiguration config in (IVCCollection)f.FileConfigurations) {
+                                        if (HelperFunctions.IsConfExcludeFromSolution(config))
+                                            continue;
                                         var vcConfig = config.ProjectConfiguration as VCConfiguration;
                                         var filterToLookFor = string.Empty;
                                         if (hasDifferentMocFilesPerConfig)
@@ -460,6 +464,8 @@
                 if (filter != null) {
                     foreach (VCFile file in filter.Files as IVCCollection) {
                         foreach (VCFileConfiguration config in file.FileConfigurations as IVCCollection) {
+                            if (HelperFunctions.IsConfExcludeFromSolution(config))
+                                continue;
                             var tool = new QtCustomBuildTool(config);
                             var commandLine = tool.CommandLine;
                             if (!string.IsNullOrEmpty(commandLine) && commandLine.Contains("moc.exe")) {

--
Gitblit v1.9.1