OLD | NEW |
1 # Copyright (c) 2012 Google Inc. All rights reserved. | 1 # Copyright (c) 2012 Google Inc. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import copy | 5 import copy |
6 import ntpath | 6 import ntpath |
7 import os | 7 import os |
8 import posixpath | 8 import posixpath |
9 import re | 9 import re |
10 import subprocess | 10 import subprocess |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 # The msvs specific sections that hold paths | 57 # The msvs specific sections that hold paths |
58 generator_additional_path_sections = [ | 58 generator_additional_path_sections = [ |
59 'msvs_cygwin_dirs', | 59 'msvs_cygwin_dirs', |
60 'msvs_props', | 60 'msvs_props', |
61 ] | 61 ] |
62 | 62 |
63 | 63 |
64 generator_additional_non_configuration_keys = [ | 64 generator_additional_non_configuration_keys = [ |
65 'msvs_cygwin_dirs', | 65 'msvs_cygwin_dirs', |
66 'msvs_cygwin_shell', | 66 'msvs_cygwin_shell', |
| 67 'msvs_large_pdb', |
67 'msvs_shard', | 68 'msvs_shard', |
68 ] | 69 ] |
69 | 70 |
70 | 71 |
71 # List of precompiled header related keys. | 72 # List of precompiled header related keys. |
72 precomp_keys = [ | 73 precomp_keys = [ |
73 'msvs_precompiled_header', | 74 'msvs_precompiled_header', |
74 'msvs_precompiled_source', | 75 'msvs_precompiled_source', |
75 ] | 76 ] |
76 | 77 |
(...skipping 1684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1761 | 1762 |
1762 # Get the project file format version back out of where we stashed it in | 1763 # Get the project file format version back out of where we stashed it in |
1763 # GeneratorCalculatedVariables. | 1764 # GeneratorCalculatedVariables. |
1764 msvs_version = params['msvs_version'] | 1765 msvs_version = params['msvs_version'] |
1765 | 1766 |
1766 generator_flags = params.get('generator_flags', {}) | 1767 generator_flags = params.get('generator_flags', {}) |
1767 | 1768 |
1768 # Optionally shard targets marked with 'msvs_shard': SHARD_COUNT. | 1769 # Optionally shard targets marked with 'msvs_shard': SHARD_COUNT. |
1769 (target_list, target_dicts) = MSVSUtil.ShardTargets(target_list, target_dicts) | 1770 (target_list, target_dicts) = MSVSUtil.ShardTargets(target_list, target_dicts) |
1770 | 1771 |
| 1772 # Optionally use the large PDB workaround for targets marked with |
| 1773 # 'msvs_large_pdb': 1. |
| 1774 (target_list, target_dicts) = MSVSUtil.InsertLargePdbShims( |
| 1775 target_list, target_dicts, generator_default_variables) |
| 1776 |
1771 # Prepare the set of configurations. | 1777 # Prepare the set of configurations. |
1772 configs = set() | 1778 configs = set() |
1773 for qualified_target in target_list: | 1779 for qualified_target in target_list: |
1774 spec = target_dicts[qualified_target] | 1780 spec = target_dicts[qualified_target] |
1775 for config_name, config in spec['configurations'].iteritems(): | 1781 for config_name, config in spec['configurations'].iteritems(): |
1776 configs.add(_ConfigFullName(config_name, config)) | 1782 configs.add(_ConfigFullName(config_name, config)) |
1777 configs = list(configs) | 1783 configs = list(configs) |
1778 | 1784 |
1779 # Figure out all the projects that will be generated and their guids | 1785 # Figure out all the projects that will be generated and their guids |
1780 project_objects = _CreateProjectObjects(target_list, target_dicts, options, | 1786 project_objects = _CreateProjectObjects(target_list, target_dicts, options, |
(...skipping 1321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3102 action_spec.extend( | 3108 action_spec.extend( |
3103 # TODO(jeanluc) 'Document' for all or just if as_sources? | 3109 # TODO(jeanluc) 'Document' for all or just if as_sources? |
3104 [['FileType', 'Document'], | 3110 [['FileType', 'Document'], |
3105 ['Command', command], | 3111 ['Command', command], |
3106 ['Message', description], | 3112 ['Message', description], |
3107 ['Outputs', outputs] | 3113 ['Outputs', outputs] |
3108 ]) | 3114 ]) |
3109 if additional_inputs: | 3115 if additional_inputs: |
3110 action_spec.append(['AdditionalInputs', additional_inputs]) | 3116 action_spec.append(['AdditionalInputs', additional_inputs]) |
3111 actions_spec.append(action_spec) | 3117 actions_spec.append(action_spec) |
OLD | NEW |