1#!/usr/bin/python
2
3# Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7# This script regenerates the canonical visual studio project files that
8# are distributed with the ANGLE repository. It requires that depot_tools
9# is installed and gclient sync has been run to download gyp. The project
10# files are generated and then git added so they can be committed.
11
12import os
13import sys
14
15script_dir = os.path.join(os.path.dirname(__file__), 'build')
16angle_dir = os.path.normpath(os.path.join(script_dir, os.pardir))
17gyp_dir = os.path.join(angle_dir, 'third_party', 'gyp')
18
19generation_dir = "projects"
20gyp_generators = "msvs"
21msvs_version = "2013e"
22build_samples = True
23build_tests = False
24release_symbols = False
25
26if __name__ == '__main__':
27    gyp_cmd = os.path.join(gyp_dir, 'gyp')
28    gyp_cmd += ' --ignore-environment'
29    gyp_cmd += ' --depth=.'
30    gyp_cmd += ' --include=' + os.path.join(script_dir, 'common.gypi')
31    gyp_cmd += ' --generator-output=' + generation_dir
32    gyp_cmd += ' --format=' + gyp_generators
33    gyp_cmd += ' -G msvs_version=' + msvs_version
34    gyp_cmd += ' -D angle_build_tests=' + ('1' if build_tests else '0')
35    gyp_cmd += ' -D angle_build_samples=' + ('1' if build_samples else '0')
36    gyp_cmd += ' -D release_symbols=' + ('true' if release_symbols else 'false')
37    gyp_cmd += ' -D angle_use_commit_id=0'
38    gyp_cmd += ' ' + os.path.join(script_dir, 'all.gyp')
39
40    print 'Generating projects to ' + generation_dir + ' from gyp files...'
41    print gyp_cmd
42    sys.stdout.flush()
43    os.system(gyp_cmd)
44
45    git_add_cmd = 'git add ' + generation_dir + ' -u'
46    print '\nRunning git add on updated Visual Studio projects...'
47    print git_add_cmd
48    sys.stdout.flush()
49    os.system(git_add_cmd)
50