blob: ec8be2acf8e5c40e4568aecf38f12ff5983b090a [file] [log] [blame]
[email protected]17f7c4342012-07-09 14:41:141# Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]2f80c312009-02-25 21:26:552# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
[email protected]3de013992014-08-14 14:22:426 'includes': [
7 'gtest.gypi',
8 ],
[email protected]2f80c312009-02-25 21:26:559 'targets': [
10 {
11 'target_name': 'gtest',
[email protected]603ed1e82014-06-02 15:57:3312 'toolsets': ['host', 'target'],
[email protected]5a547332011-05-19 23:18:5313 'type': 'static_library',
[email protected]2f80c312009-02-25 21:26:5514 'sources': [
[email protected]3de013992014-08-14 14:22:4215 '<@(gtest_sources)',
[email protected]22015c332009-06-22 18:32:2116 ],
[email protected]2f80c312009-02-25 21:26:5517 'include_dirs': [
piman5623da42016-07-21 03:03:1518 'gtest',
19 'gtest/include',
[email protected]2f80c312009-02-25 21:26:5520 ],
[email protected]f30ef802011-12-02 15:27:5721 'dependencies': [
22 'gtest_prod',
23 ],
[email protected]e260ebc2013-12-18 05:31:3324 'defines': [
25 # In order to allow regex matches in gtest to be shared between Windows
26 # and other systems, we tell gtest to always use it's internal engine.
27 'GTEST_HAS_POSIX_RE=0',
[email protected]b6bf5c322014-08-09 05:24:0228 # Chrome doesn't support / require C++11, yet.
29 'GTEST_LANG_CXX11=0',
[email protected]e260ebc2013-12-18 05:31:3330 ],
31 'all_dependent_settings': {
tzikd805a40e2016-07-22 03:30:1832 'include_dirs': [
33 'gtest/include',
34 ],
[email protected]e260ebc2013-12-18 05:31:3335 'defines': [
36 'GTEST_HAS_POSIX_RE=0',
[email protected]b6bf5c322014-08-09 05:24:0237 'GTEST_LANG_CXX11=0',
[email protected]e260ebc2013-12-18 05:31:3338 ],
39 },
[email protected]2f80c312009-02-25 21:26:5540 'conditions': [
[email protected]17f7c4342012-07-09 14:41:1441 ['OS == "mac" or OS == "ios"', {
[email protected]1bba09c2009-08-13 12:53:1642 'sources': [
[email protected]ecebcc92010-08-06 02:39:2643 'gtest_mac.h',
44 'gtest_mac.mm',
eugenebuta016a7e2015-02-04 18:15:0045 'platform_test_mac.mm',
[email protected]1bba09c2009-08-13 12:53:1646 ],
[email protected]c77043fc2009-08-20 22:37:5947 'link_settings': {
48 'libraries': [
49 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
50 ],
51 },
[email protected]1bba09c2009-08-13 12:53:1652 }],
[email protected]17f7c4342012-07-09 14:41:1453 ['OS == "ios"', {
[email protected]57871bc2012-08-20 16:28:1254 'dependencies' : [
[email protected]296bc452013-05-13 21:29:4755 '<(DEPTH)/testing/iossim/iossim.gyp:iossim#host',
[email protected]57871bc2012-08-20 16:28:1256 ],
[email protected]17f7c4342012-07-09 14:41:1457 'direct_dependent_settings': {
58 'target_conditions': [
59 # Turn all tests into bundles on iOS because that's the only
60 # type of executable supported for iOS.
61 ['_type=="executable"', {
62 'variables': {
63 # Use a variable so the path gets fixed up so it is always
64 # correct when INFOPLIST_FILE finally gets set.
65 'ios_unittest_info_plist_path':
66 '<(DEPTH)/testing/gtest_ios/unittest-Info.plist',
67 },
68 'mac_bundle': 1,
69 'xcode_settings': {
sdefresne727206c62016-07-13 14:40:3070 'BUNDLE_ID_TEST_NAME': '>(_target_name)',
[email protected]17f7c4342012-07-09 14:41:1471 'INFOPLIST_FILE': '>(ios_unittest_info_plist_path)',
72 },
73 'mac_bundle_resources': [
74 '<(ios_unittest_info_plist_path)',
rohitraod2f34882014-10-08 19:25:3175 '<(DEPTH)/testing/gtest_ios/Default.png',
[email protected]17f7c4342012-07-09 14:41:1476 ],
77 'mac_bundle_resources!': [
78 '<(ios_unittest_info_plist_path)',
79 ],
80 }],
81 ],
82 },
[email protected]9b00523e2014-07-10 00:41:0283 'sources': [
84 'coverage_util_ios.cc',
85 'coverage_util_ios.h',
[email protected]9b00523e2014-07-10 00:41:0286 ],
[email protected]17f7c4342012-07-09 14:41:1487 }],
[email protected]a22906d2013-07-03 08:26:5188 ['OS=="ios" and asan==1', {
89 'direct_dependent_settings': {
90 'target_conditions': [
91 # Package the ASan runtime dylib into the test app bundles.
92 ['_type=="executable"', {
93 'postbuilds': [
94 {
95 'variables': {
96 # Define copy_asan_dylib_path in a variable ending in
97 # _path so that gyp understands it's a path and
98 # performs proper relativization during dict merging.
99 'copy_asan_dylib_path':
100 '<(DEPTH)/build/mac/copy_asan_runtime_dylib.sh',
101 },
102 'postbuild_name': 'Copy ASan runtime dylib',
103 'action': [
[email protected]a5963c52013-07-09 14:19:27104 '>(copy_asan_dylib_path)',
[email protected]a22906d2013-07-03 08:26:51105 ],
106 },
107 ],
108 }],
109 ],
110 },
111 }],
[email protected]f5c7758a2012-07-25 16:17:57112 ['OS=="android" and android_app_abi=="x86"', {
113 'defines': [
114 'GTEST_HAS_CLONE=0',
115 ],
116 'direct_dependent_settings': {
117 'defines': [
118 'GTEST_HAS_CLONE=0',
119 ],
120 },
121 }],
[email protected]2f80c312009-02-25 21:26:55122 ],
123 'direct_dependent_settings': {
124 'defines': [
125 'UNIT_TEST',
126 ],
[email protected]2f80c312009-02-25 21:26:55127 'target_conditions': [
[email protected]88555832010-12-17 16:04:03128 ['_type=="executable"', {
129 'test': 1,
130 'conditions': [
131 ['OS=="mac"', {
132 'run_as': {
133 'action????': ['${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}'],
134 },
135 }],
[email protected]17f7c4342012-07-09 14:41:14136 ['OS=="ios"', {
137 'variables': {
138 # Use a variable so the path gets fixed up so it is always
139 # correct when the action finally gets used.
140 'ios_run_unittest_script_path':
[email protected]58cddec22012-07-26 11:52:27141 '<(DEPTH)/testing/gtest_ios/run-unittest.sh',
[email protected]17f7c4342012-07-09 14:41:14142 },
143 'run_as': {
144 'action????': ['>(ios_run_unittest_script_path)'],
145 },
146 }],
[email protected]88555832010-12-17 16:04:03147 ['OS=="win"', {
148 'run_as': {
149 'action????': ['$(TargetPath)', '--gtest_print_time'],
150 },
151 }],
152 ],
153 }],
[email protected]2f80c312009-02-25 21:26:55154 ],
[email protected]c836d7a02009-10-03 20:47:21155 'msvs_disabled_warnings': [4800],
[email protected]2f80c312009-02-25 21:26:55156 },
157 },
[email protected]4b0f9632009-05-06 19:13:06158 {
[email protected]016498e2010-12-03 00:59:23159 'target_name': 'gtest_main',
[email protected]5a547332011-05-19 23:18:53160 'type': 'static_library',
[email protected]4b0f9632009-05-06 19:13:06161 'dependencies': [
162 'gtest',
163 ],
164 'sources': [
piman5623da42016-07-21 03:03:15165 'gtest/src/gtest_main.cc',
[email protected]4b0f9632009-05-06 19:13:06166 ],
167 },
[email protected]f30ef802011-12-02 15:27:57168 {
169 'target_name': 'gtest_prod',
170 'toolsets': ['host', 'target'],
171 'type': 'none',
172 'sources': [
173 'gtest/include/gtest/gtest_prod.h',
174 ],
175 },
[email protected]2f80c312009-02-25 21:26:55176 ],
177}