| #!/usr/bin/python2 |
| # |
| # Copyright 2017 The ANGLE Project Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # msvs_projects.py: |
| # A helper utility that generates Visual Studio projects for each of |
| # the available directories in 'out', and then runs another helper |
| # utility that merges these projects into one solution. |
| |
| import sys, os, subprocess |
| |
| # Change this to target another VS version. |
| target_ide = 'vs2017' |
| solution_name = 'ANGLE' |
| |
| script_dir = os.path.dirname(sys.argv[0]) |
| |
| # Set the CWD to the root ANGLE folder. |
| os.chdir(os.path.join(script_dir, '..')) |
| |
| out_dir = 'out' |
| |
| |
| # Generate the VS solutions for any valid directory. |
| def generate_projects(dirname): |
| args = ['gn.bat', 'gen', dirname, '--ide=' + target_ide, '--sln=' + solution_name] |
| print('Running "' + ' '.join(args) + '"') |
| subprocess.call(args) |
| |
| |
| for potential_dir in os.listdir(out_dir): |
| path = os.path.join(out_dir, potential_dir) |
| build_ninja_d = os.path.join(path, 'build.ninja.d') |
| if os.path.exists(build_ninja_d): |
| generate_projects(path) |
| |
| # Run the helper utility that merges the projects. |
| args = ['python', os.path.join('build', 'win', 'gn_meta_sln.py')] |
| print('Running "' + ' '.join(args) + '"') |
| subprocess.call(args) |