From 4b6fd7b7abd0ae0fc3160c8a4f522c2c0c352836 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Wed, 9 Jul 2014 06:40:09 -0400 Subject: [PATCH] ide/project: Fixed exclusion check for compiling single file --- ide/src/project/Project.ec | 2 +- ide/src/project/ProjectNode.ec | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ide/src/project/Project.ec b/ide/src/project/Project.ec index 4cf6658..6abda19 100644 --- a/ide/src/project/Project.ec +++ b/ide/src/project/Project.ec @@ -2114,7 +2114,7 @@ private: for(node : onlyNodes) { - if(node.GetIsExcluded(config)) + if(node.GetIsExcludedForCompiler(config, compiler)) ide.outputView.buildBox.Logf($"File %s is excluded from current build configuration.\n", node.name); else { diff --git a/ide/src/project/ProjectNode.ec b/ide/src/project/ProjectNode.ec index 9bd4e49..9495d5e 100644 --- a/ide/src/project/ProjectNode.ec +++ b/ide/src/project/ProjectNode.ec @@ -974,6 +974,19 @@ private: return result; } + bool GetIsExcludedForCompiler(ProjectConfig prjConfig, CompilerConfig compiler) + { + bool result; + Map exclusionInfo { }; + SetBool common, platform; + CollectExclusionInfo(exclusionInfo, prjConfig); + common = exclusionInfo[unknown]; + platform = exclusionInfo[compiler.targetPlatform]; + result = platform == true || (common == true && platform == unset); + delete exclusionInfo; + return result; + } + void CollectExclusionInfo(Map output, ProjectConfig prjConfig) { // note: unknown platform is for common -- 1.8.3.1