comparison scripts/vsutil.py @ 3:949c4f536f26

Add `None` file items to source solution files.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 24 Oct 2019 11:14:39 -0700
parents 5d2c0db51914
children ae0fb567f459
comparison
equal deleted inserted replaced
2:1955749ac575 3:949c4f536f26
26 ITEM_TYPE_CS_SRC = 'Compile' 26 ITEM_TYPE_CS_SRC = 'Compile'
27 27
28 ITEM_TYPE_NONE = 'None' 28 ITEM_TYPE_NONE = 'None'
29 29
30 ITEM_TYPE_SOURCE_FILES = (ITEM_TYPE_CPP_SRC, ITEM_TYPE_CPP_HDR, 30 ITEM_TYPE_SOURCE_FILES = (ITEM_TYPE_CPP_SRC, ITEM_TYPE_CPP_HDR,
31 ITEM_TYPE_CS_SRC) 31 ITEM_TYPE_CS_SRC, ITEM_TYPE_NONE)
32 32
33 33
34 # Known VS properties. 34 # Known VS properties.
35 PROP_CONFIGURATION_TYPE = 'ConfigurationType' 35 PROP_CONFIGURATION_TYPE = 'ConfigurationType'
36 PROP_NMAKE_PREPROCESSOR_DEFINITIONS = 'NMakePreprocessorDefinitions' 36 PROP_NMAKE_PREPROCESSOR_DEFINITIONS = 'NMakePreprocessorDefinitions'
134 def __init__(self, label): 134 def __init__(self, label):
135 super().__init__(label) 135 super().__init__(label)
136 self.items = [] 136 self.items = []
137 137
138 def get_source_items(self): 138 def get_source_items(self):
139 return self.get_items_of_types(ITEM_TYPE_SOURCE_FILES)
140
141 def get_items_of_types(self, *itemtypes):
142 typeset = set(*itemtypes)
139 for i in self.items: 143 for i in self.items:
140 if i.itemtype in ITEM_TYPE_SOURCE_FILES: 144 if i.itemtype in typeset:
141 yield i 145 yield i
142 146
143 def _collapse_child(self, child, env): 147 def _collapse_child(self, child, env):
144 self.items += [i.resolve(env) for i in child.items] 148 self.items += [i.resolve(env) for i in child.items]
145 149