• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2009 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'targets': [
7    {
8      'target_name': 'gtest',
9      'type': '<(library)',
10      'msvs_guid': 'BFE8E2A7-3B3B-43B0-A994-3058B852DB8B',
11      'sources': [
12        'gtest/include/gtest/gtest-death-test.h',
13        'gtest/include/gtest/gtest-message.h',
14        'gtest/include/gtest/gtest-param-test.h',
15        'gtest/include/gtest/gtest-printers.h',
16        'gtest/include/gtest/gtest-spi.h',
17        'gtest/include/gtest/gtest-test-part.h',
18        'gtest/include/gtest/gtest-typed-test.h',
19        'gtest/include/gtest/gtest.h',
20        'gtest/include/gtest/gtest_pred_impl.h',
21        'gtest/include/gtest/gtest_prod.h',
22        'gtest/include/gtest/internal/gtest-death-test-internal.h',
23        'gtest/include/gtest/internal/gtest-filepath.h',
24        'gtest/include/gtest/internal/gtest-internal.h',
25        'gtest/include/gtest/internal/gtest-linked_ptr.h',
26        'gtest/include/gtest/internal/gtest-param-util-generated.h',
27        'gtest/include/gtest/internal/gtest-param-util.h',
28        'gtest/include/gtest/internal/gtest-port.h',
29        'gtest/include/gtest/internal/gtest-string.h',
30        'gtest/include/gtest/internal/gtest-tuple.h',
31        'gtest/include/gtest/internal/gtest-type-util.h',
32        'gtest/src/gtest-all.cc',
33        'gtest/src/gtest-death-test.cc',
34        'gtest/src/gtest-filepath.cc',
35        'gtest/src/gtest-internal-inl.h',
36        'gtest/src/gtest-port.cc',
37        'gtest/src/gtest-printers.cc',
38        'gtest/src/gtest-test-part.cc',
39        'gtest/src/gtest-typed-test.cc',
40        'gtest/src/gtest.cc',
41        'multiprocess_func_list.cc',
42        'multiprocess_func_list.h',
43        'platform_test.h',
44      ],
45      'sources!': [
46        'gtest/src/gtest-all.cc',  # Not needed by our build.
47      ],
48      'include_dirs': [
49        'gtest',
50        'gtest/include',
51      ],
52      'conditions': [
53        ['OS == "mac"', {
54          'sources': [
55            'gtest_mac.h',
56            'gtest_mac.mm',
57            'platform_test_mac.mm'
58          ],
59          'link_settings': {
60            'libraries': [
61              '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
62            ],
63          },
64        }],
65        ['OS == "mac" or OS == "linux" or OS == "freebsd" or OS == "openbsd"', {
66          'defines': [
67            # gtest isn't able to figure out when RTTI is disabled for gcc
68            # versions older than 4.3.2, and assumes it's enabled.  Our Mac
69            # and Linux builds disable RTTI, and cannot guarantee that the
70            # compiler will be 4.3.2. or newer.  The Mac, for example, uses
71            # 4.2.1 as that is the latest available on that platform.  gtest
72            # must be instructed that RTTI is disabled here, and for any
73            # direct dependents that might include gtest headers.
74            'GTEST_HAS_RTTI=0',
75          ],
76          'direct_dependent_settings': {
77            'defines': [
78              'GTEST_HAS_RTTI=0',
79            ],
80          },
81        }],
82        ['clang==1', {
83          # We want gtest features that use tr1::tuple, but clang currently
84          # doesn't support the variadic templates used by libstdc++'s
85          # implementation.  gtest supports this scenario by providing its
86          # own implementation but we must opt in to it.
87          'defines': [
88            'GTEST_USE_OWN_TR1_TUPLE=1',
89          ],
90          'direct_dependent_settings': {
91            'defines': [
92              'GTEST_USE_OWN_TR1_TUPLE=1',
93            ],
94          },
95        }],
96      ],
97      'direct_dependent_settings': {
98        'defines': [
99          'UNIT_TEST',
100        ],
101        'include_dirs': [
102          'gtest/include',  # So that gtest headers can find themselves.
103        ],
104        'target_conditions': [
105          ['_type=="executable"', {
106            'test': 1,
107            'conditions': [
108              ['OS=="mac"', {
109                'run_as': {
110                  'action????': ['${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}'],
111                },
112              }],
113              ['OS=="win"', {
114                'run_as': {
115                  'action????': ['$(TargetPath)', '--gtest_print_time'],
116                },
117              }],
118            ],
119          }],
120        ],
121        'msvs_disabled_warnings': [4800],
122      },
123    },
124    {
125      'target_name': 'gtest_main',
126      'type': '<(library)',
127      'dependencies': [
128        'gtest',
129      ],
130      'sources': [
131        'gtest/src/gtest_main.cc',
132      ],
133    },
134  ],
135}
136
137# Local Variables:
138# tab-width:2
139# indent-tabs-mode:nil
140# End:
141# vim: set expandtab tabstop=2 shiftwidth=2:
142