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