aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/buildgen/plugins/generate_vsprojects.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/buildgen/plugins/generate_vsprojects.py')
-rwxr-xr-xtools/buildgen/plugins/generate_vsprojects.py33
1 files changed, 25 insertions, 8 deletions
diff --git a/tools/buildgen/plugins/generate_vsprojects.py b/tools/buildgen/plugins/generate_vsprojects.py
index 413056fe89..841a61f660 100755
--- a/tools/buildgen/plugins/generate_vsprojects.py
+++ b/tools/buildgen/plugins/generate_vsprojects.py
@@ -57,14 +57,27 @@ def mako_plugin(dictionary):
projects = []
projects.extend(libs)
projects.extend(targets)
- if dictionary.get('debug', False):
- for target in projects:
- if not target.get('vs_project_guid', None) and 'windows' in target.get('platforms', ['windows']):
- name = target['name']
- guid = re.sub('(........)(....)(....)(....)(.*)',
- r'{\1-\2-\3-\4-\5}',
- hashlib.md5(name).hexdigest())
- target['vs_project_guid'] = guid.upper()
+ for target in projects:
+ if 'build' in target and target['build'] == 'test':
+ default_test_dir = 'test'
+ else:
+ default_test_dir = '.'
+ if 'vs_config_type' not in target:
+ if 'build' in target and target['build'] == 'test':
+ target['vs_config_type'] = 'Application'
+ else:
+ target['vs_config_type'] = 'StaticLibrary'
+ if 'vs_packages' not in target:
+ target['vs_packages'] = []
+ if 'vs_props' not in target:
+ target['vs_props'] = []
+ target['vs_proj_dir'] = target.get('vs_proj_dir', default_test_dir)
+ if target.get('vs_project_guid', None) is None and 'windows' in target.get('platforms', ['windows']):
+ name = target['name']
+ guid = re.sub('(........)(....)(....)(....)(.*)',
+ r'{\1-\2-\3-\4-\5}',
+ hashlib.md5(name).hexdigest())
+ target['vs_project_guid'] = guid.upper()
# Exclude projects without a visual project guid, such as the tests.
projects = [project for project in projects
if project.get('vs_project_guid', None)]
@@ -74,5 +87,9 @@ def mako_plugin(dictionary):
project_dict = dict([(p['name'], p) for p in projects])
+ packages = dictionary.get('vspackages', [])
+ packages_dict = dict([(p['name'], p) for p in packages])
+
dictionary['vsprojects'] = projects
dictionary['vsproject_dict'] = project_dict
+ dictionary['vspackages_dict'] = packages_dict