blob: 22dd14886266d365e657d07ad3ee5353ab88572d [file] [log] [blame]
#!/usr/bin/python
# Copyright (c) 2013 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.
# This script regenerates the canonical visual studio project files that
# are distributed with the ANGLE repository. It requires that depot_tools
# is installed and gclient sync has been run to download gyp. The project
# files are generated and then git added so they can be committed.
import os
import sys
script_dir = os.path.join(os.path.dirname(__file__), 'build')
angle_dir = os.path.normpath(os.path.join(script_dir, os.pardir))
gyp_dir = os.path.join(angle_dir, 'third_party', 'gyp')
generation_dir = "projects"
gyp_generators = "msvs"
msvs_version = "2013e"
build_tests = False
release_symbols = False
def generateProjects( generation_dir,
build_samples,
build_winrt,
build_winphone,
enable_d3d9 ) :
gyp_cmd = os.path.join(gyp_dir, 'gyp')
gyp_cmd += ' --ignore-environment'
gyp_cmd += ' --depth=.'
gyp_cmd += ' --include=' + os.path.join(script_dir, 'common.gypi')
gyp_cmd += ' --generator-output=' + generation_dir
gyp_cmd += ' --format=' + gyp_generators
gyp_cmd += ' -G msvs_version=' + msvs_version
gyp_cmd += ' -D angle_build_tests=' + ('1' if build_tests else '0')
gyp_cmd += ' -D angle_build_samples=' + ('1' if build_samples else '0')
gyp_cmd += ' -D release_symbols=' + ('true' if release_symbols else 'false')
gyp_cmd += ' -D angle_use_commit_id=0'
gyp_cmd += ' -D angle_build_winrt=' + ('1' if build_winrt else '0')
gyp_cmd += ' -D angle_build_winphone=' + ('1' if build_winphone else '0')
gyp_cmd += ' -D angle_enable_d3d9=' + ('1' if enable_d3d9 else '0')
gyp_cmd += ' ' + os.path.join(script_dir, 'all.gyp')
print 'Generating projects to ' + generation_dir + ' from gyp files...'
print gyp_cmd
sys.stdout.flush()
os.system(gyp_cmd)
git_add_cmd = 'git add ' + generation_dir + ' -u'
print '\nRunning git add on updated Visual Studio projects...'
print git_add_cmd
sys.stdout.flush()
os.system(git_add_cmd)
return;
if __name__ == '__main__':
# Generate Windows Desktop projects
generateProjects("projects", True, False, False, True);
# Generate Windows 8.1 projects
generateProjects("projects/winrt/windows", False, True, False, False);