From da21c77ae3d6ea904cc78660d6e98d19e18a710a Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Wed, 25 Feb 2015 14:59:27 -0800 Subject: [PATCH] Support per-target ExcludeFromBuild in VSProject --- site_scons/site_tools/VSProject.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/site_scons/site_tools/VSProject.py b/site_scons/site_tools/VSProject.py index 240ac159a..998d69571 100644 --- a/site_scons/site_tools/VSProject.py +++ b/site_scons/site_tools/VSProject.py @@ -729,12 +729,17 @@ class _ProjectGenerator(object): self.project_file.write(' \r\n') for item in self.items: path = winpath(os.path.relpath(item.path(), self.project_dir)) - props = '' tag = item.tag() - if item.is_excluded(): - props = ' True\r\n' - elif item.builder() == 'Object': + props = '' + if item.builder() == 'Object': props = '' + for config in self.configs: + name = config.name + variant = config.variant + platform = config.platform + if not config in item.node: + props += \ + ''' True\r\n''' % locals() for config, output in xsorted(item.node.items()): name = config.name env = output.get_build_env() @@ -744,6 +749,8 @@ class _ProjectGenerator(object): ' ', 'AdditionalIncludeDirectories', ''' Condition="'$(Configuration)|$(Platform)'=='%(variant)s|%(platform)s'"''' % locals(), True) + elif item.is_excluded(): + props = ' True\r\n' elif item.builder() == 'Protoc': for config, output in xsorted(item.node.items()): name = config.name