aboutsummaryrefslogtreecommitdiffstats
path: root/src/qtprojectlib/MsBuildProject.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/qtprojectlib/MsBuildProject.cs')
-rw-r--r--src/qtprojectlib/MsBuildProject.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/qtprojectlib/MsBuildProject.cs b/src/qtprojectlib/MsBuildProject.cs
index 92b18cb6..09758e49 100644
--- a/src/qtprojectlib/MsBuildProject.cs
+++ b/src/qtprojectlib/MsBuildProject.cs
@@ -821,12 +821,20 @@ namespace QtProjectLib
var outputItems = new List<XElement>();
foreach (var outputFile in outputFiles) {
List<XElement> mocOutput = null;
- if (projItemsByPath.TryGetValue(outputFile, out mocOutput))
+ if (projItemsByPath.TryGetValue(outputFile, out mocOutput)) {
outputItems.AddRange(mocOutput);
+ hasGeneratedFiles |= hasGeneratedFiles ? true : mocOutput
+ .Where(x => !x.Elements(ns + "ExcludedFromBuild")
+ .Where(y =>
+ (string)y.Attribute("Condition") == string.Format(
+ "'$(Configuration)|$(Platform)'=='{0}'", configName)
+ && y.Value == "true")
+ .Any())
+ .Any();
+ }
if (filterItemsByPath.TryGetValue(outputFile, out mocOutput))
outputItems.AddRange(mocOutput);
}
- hasGeneratedFiles = outputItems.Any();
foreach (var item in outputItems.Where(x => x.Parent != null))
item.Remove();
}