#!/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);