OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. 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 { | 5 { |
6 'conditions': [ | 6 'conditions': [ |
7 ['OS != "ios"', { | 7 ['OS != "ios"', { |
8 'targets': [ | 8 'targets': [ |
9 { | 9 { |
10 'target_name': 'iossim', | 10 'target_name': 'iossim', |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 }, | 49 }, |
50 ], | 50 ], |
51 }, | 51 }, |
52 ], | 52 ], |
53 }, { # else, OS == "ios" | 53 }, { # else, OS == "ios" |
54 'variables': { | 54 'variables': { |
55 'ninja_output_dir': 'ninja-iossim', | 55 'ninja_output_dir': 'ninja-iossim', |
56 'ninja_product_dir': | 56 'ninja_product_dir': |
57 '<(DEPTH)/xcodebuild/<(ninja_output_dir)/<(CONFIGURATION_NAME)', | 57 '<(DEPTH)/xcodebuild/<(ninja_output_dir)/<(CONFIGURATION_NAME)', |
58 }, | 58 }, |
59 # Generation is done via two actions: (1) compiling the executable with | |
60 # ninja, and (2) copying the executable into a location that is shared | |
61 # with other projects. These actions are separated into two targets in | |
62 # order to be able to specify that the second action should not run | |
63 # until the first action finishes (since the ordering of multiple | |
64 # actions in one target is defined only by inputs and outputs, and it's | |
65 # impossible to set correct inputs for the ninja build, so setting all | |
66 # the inputs and outputs isn't an option). | |
67 'targets': [ | 59 'targets': [ |
68 { | 60 { |
69 'target_name': 'compile_iossim', | 61 'target_name': 'iossim', |
70 'type': 'none', | 62 'type': 'none', |
71 'variables': { | 63 'variables': { |
72 # Gyp to rerun | 64 # Gyp to rerun |
73 're_run_targets': [ | 65 're_run_targets': [ |
74 'testing/iossim/iossim.gyp', | 66 'testing/iossim/iossim.gyp', |
75 ], | 67 ], |
76 }, | 68 }, |
77 'includes': ['../../build/ios/mac_build.gypi'], | 69 'includes': ['../../build/ios/mac_build.gypi'], |
78 'actions': [ | 70 'actions': [ |
79 { | 71 { |
80 'action_name': 'compile iossim', | 72 'action_name': 'compile iossim', |
81 'inputs': [], | 73 'inputs': [], |
82 'outputs': [], | 74 'outputs': [], |
83 'action': [ | 75 'action': [ |
84 '<@(ninja_cmd)', | 76 '<@(ninja_cmd)', |
85 'iossim', | 77 'iossim', |
86 ], | 78 ], |
87 'message': 'Generating the iossim executable', | 79 'message': 'Generating the iossim executable', |
88 }, | 80 }, |
89 ], | 81 ], |
90 }, | 82 }, |
91 { | |
92 'target_name': 'iossim', | |
93 'type': 'none', | |
94 'dependencies': [ | |
95 'compile_iossim', | |
96 ], | |
97 'actions': [ | |
98 { | |
99 'action_name': 'copy iossim', | |
100 'inputs': [ | |
101 # TODO(ios): It should be possible to define the input, but | |
102 # adding it causes gyp to complain about duplicate id. | |
103 # '<(ninja_product_dir)/iossim', | |
104 ], | |
105 'outputs': [ | |
106 '<(DEPTH)/xcodebuild/<(CONFIGURATION_NAME)/iossim', | |
107 ], | |
108 'action': [ | |
109 'cp', | |
110 '<(ninja_product_dir)/iossim', | |
111 '<(DEPTH)/xcodebuild/<(CONFIGURATION_NAME)/iossim', | |
112 ], | |
113 }, | |
114 ], | |
115 }, | |
116 ], | 83 ], |
117 }, | 84 }, |
118 ], | 85 ], |
119 ], | 86 ], |
120 } | 87 } |
OLD | NEW |