1*3ac0a46fSAndroid Build Coastguard Worker# Copyright 2018 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker# found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Workerimport("//build_overrides/build.gni") 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Workerconfig("gtest_config") { 8*3ac0a46fSAndroid Build Coastguard Worker visibility = [ 9*3ac0a46fSAndroid Build Coastguard Worker ":*", # gmock also shares this config. 10*3ac0a46fSAndroid Build Coastguard Worker ] 11*3ac0a46fSAndroid Build Coastguard Worker 12*3ac0a46fSAndroid Build Coastguard Worker defines = [ 13*3ac0a46fSAndroid Build Coastguard Worker # Chromium always links googletest statically, so no API qualifier is 14*3ac0a46fSAndroid Build Coastguard Worker # necessary. The definition in gtest-port.h at the time of this writing 15*3ac0a46fSAndroid Build Coastguard Worker # causes crashes in content_browsertests. 16*3ac0a46fSAndroid Build Coastguard Worker "GTEST_API_=", 17*3ac0a46fSAndroid Build Coastguard Worker 18*3ac0a46fSAndroid Build Coastguard Worker # In order to allow regex matches in gtest to be shared between Windows 19*3ac0a46fSAndroid Build Coastguard Worker # and other systems, we tell gtest to always use its internal engine. 20*3ac0a46fSAndroid Build Coastguard Worker "GTEST_HAS_POSIX_RE=0", 21*3ac0a46fSAndroid Build Coastguard Worker 22*3ac0a46fSAndroid Build Coastguard Worker # Enables C++11 features. 23*3ac0a46fSAndroid Build Coastguard Worker "GTEST_LANG_CXX11=1", 24*3ac0a46fSAndroid Build Coastguard Worker 25*3ac0a46fSAndroid Build Coastguard Worker # Prevents gtest from including both <tr1/tuple> and <tuple>. 26*3ac0a46fSAndroid Build Coastguard Worker "GTEST_HAS_TR1_TUPLE=0", 27*3ac0a46fSAndroid Build Coastguard Worker ] 28*3ac0a46fSAndroid Build Coastguard Worker 29*3ac0a46fSAndroid Build Coastguard Worker # Gtest headers need to be able to find themselves. 30*3ac0a46fSAndroid Build Coastguard Worker include_dirs = [ 31*3ac0a46fSAndroid Build Coastguard Worker "custom", 32*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include", 33*3ac0a46fSAndroid Build Coastguard Worker ] 34*3ac0a46fSAndroid Build Coastguard Worker 35*3ac0a46fSAndroid Build Coastguard Worker if (is_win) { 36*3ac0a46fSAndroid Build Coastguard Worker cflags = [ "/wd4800" ] # Unused variable warning. 37*3ac0a46fSAndroid Build Coastguard Worker } 38*3ac0a46fSAndroid Build Coastguard Worker 39*3ac0a46fSAndroid Build Coastguard Worker if (gtest_enable_absl_printers) { 40*3ac0a46fSAndroid Build Coastguard Worker configs = [ "//third_party/abseil-cpp:absl_include_config" ] 41*3ac0a46fSAndroid Build Coastguard Worker defines += [ "GTEST_HAS_ABSL=1" ] 42*3ac0a46fSAndroid Build Coastguard Worker } 43*3ac0a46fSAndroid Build Coastguard Worker} 44*3ac0a46fSAndroid Build Coastguard Worker 45*3ac0a46fSAndroid Build Coastguard Workerconfig("gmock_config") { 46*3ac0a46fSAndroid Build Coastguard Worker # Gmock headers need to be able to find themselves. 47*3ac0a46fSAndroid Build Coastguard Worker include_dirs = [ 48*3ac0a46fSAndroid Build Coastguard Worker "custom", 49*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include", 50*3ac0a46fSAndroid Build Coastguard Worker ] 51*3ac0a46fSAndroid Build Coastguard Worker 52*3ac0a46fSAndroid Build Coastguard Worker if (is_clang) { 53*3ac0a46fSAndroid Build Coastguard Worker # TODO(tikuta): remove this when the issue is fixed. 54*3ac0a46fSAndroid Build Coastguard Worker # https://github.com/google/googletest/issues/533 55*3ac0a46fSAndroid Build Coastguard Worker cflags = [ "-Wno-inconsistent-missing-override" ] 56*3ac0a46fSAndroid Build Coastguard Worker } 57*3ac0a46fSAndroid Build Coastguard Worker} 58*3ac0a46fSAndroid Build Coastguard Worker 59*3ac0a46fSAndroid Build Coastguard Worker# Do NOT depend on this directly. Use //testing/gtest instead. 60*3ac0a46fSAndroid Build Coastguard Worker# See README.chromium for details. 61*3ac0a46fSAndroid Build Coastguard Workersource_set("gtest") { 62*3ac0a46fSAndroid Build Coastguard Worker testonly = true 63*3ac0a46fSAndroid Build Coastguard Worker sources = [ 64*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/gtest-printers.h", 65*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/gtest.h", 66*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/stack_trace_getter.cc", 67*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/stack_trace_getter.h", 68*3ac0a46fSAndroid Build Coastguard Worker 69*3ac0a46fSAndroid Build Coastguard Worker # TODO(crbug.com/1009553): Remove this wrapper and custom temp dir 70*3ac0a46fSAndroid Build Coastguard Worker # after plumbing a workable temporary path into googletest on Android. 71*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/gtest_port_wrapper.cc", 72*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/pdfium_custom_temp_dir.cc", 73*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/pdfium_custom_temp_dir.h", 74*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-assertion-result.h", 75*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-death-test.h", 76*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-matchers.h", 77*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-message.h", 78*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-param-test.h", 79*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-printers.h", 80*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-spi.h", 81*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-test-part.h", 82*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest-typed-test.h", 83*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest.h", 84*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest_pred_impl.h", 85*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/gtest_prod.h", 86*3ac0a46fSAndroid Build Coastguard Worker 87*3ac0a46fSAndroid Build Coastguard Worker #"src/googletest/include/gtest/internal/custom/gtest.h", # Superseded. 88*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/custom/gtest-port.h", 89*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/custom/gtest-printers.h", 90*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-death-test-internal.h", 91*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-filepath.h", 92*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-internal.h", 93*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-param-util.h", 94*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-port-arch.h", 95*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-port.h", 96*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-string.h", 97*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/include/gtest/internal/gtest-type-util.h", 98*3ac0a46fSAndroid Build Coastguard Worker 99*3ac0a46fSAndroid Build Coastguard Worker #"src/googletest/src/gtest-all.cc", # Not needed by our build. 100*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-assertion-result.cc", 101*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-death-test.cc", 102*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-filepath.cc", 103*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-internal-inl.h", 104*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-matchers.cc", 105*3ac0a46fSAndroid Build Coastguard Worker 106*3ac0a46fSAndroid Build Coastguard Worker # gtest_port_wrapper.cc is used instead of gtest-port.cc. 107*3ac0a46fSAndroid Build Coastguard Worker # TODO(crbug.com/1009553): Re-enable this file after plumbing a workable 108*3ac0a46fSAndroid Build Coastguard Worker # temporary path into googletest on Android. 109*3ac0a46fSAndroid Build Coastguard Worker #"src/googletest/src/gtest-port.cc", 110*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-printers.cc", 111*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-test-part.cc", 112*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest-typed-test.cc", 113*3ac0a46fSAndroid Build Coastguard Worker "src/googletest/src/gtest.cc", 114*3ac0a46fSAndroid Build Coastguard Worker ] 115*3ac0a46fSAndroid Build Coastguard Worker 116*3ac0a46fSAndroid Build Coastguard Worker # Some files include "src/gtest-internal-inl.h". 117*3ac0a46fSAndroid Build Coastguard Worker include_dirs = [ "src/googletest" ] 118*3ac0a46fSAndroid Build Coastguard Worker 119*3ac0a46fSAndroid Build Coastguard Worker public_configs = [ ":gtest_config" ] 120*3ac0a46fSAndroid Build Coastguard Worker 121*3ac0a46fSAndroid Build Coastguard Worker configs -= [ "//build/config/compiler:chromium_code" ] 122*3ac0a46fSAndroid Build Coastguard Worker configs += [ "//build/config/compiler:no_chromium_code" ] 123*3ac0a46fSAndroid Build Coastguard Worker 124*3ac0a46fSAndroid Build Coastguard Worker defines = [ "GTEST_DISABLE_PRINT_STACK_TRACE" ] 125*3ac0a46fSAndroid Build Coastguard Worker sources -= [ 126*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/stack_trace_getter.cc", 127*3ac0a46fSAndroid Build Coastguard Worker "custom/gtest/internal/custom/stack_trace_getter.h", 128*3ac0a46fSAndroid Build Coastguard Worker ] 129*3ac0a46fSAndroid Build Coastguard Worker 130*3ac0a46fSAndroid Build Coastguard Worker deps = [] 131*3ac0a46fSAndroid Build Coastguard Worker 132*3ac0a46fSAndroid Build Coastguard Worker if (is_fuchsia) { 133*3ac0a46fSAndroid Build Coastguard Worker deps += [ 134*3ac0a46fSAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/pkg/fdio", 135*3ac0a46fSAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/pkg/zx", 136*3ac0a46fSAndroid Build Coastguard Worker ] 137*3ac0a46fSAndroid Build Coastguard Worker } 138*3ac0a46fSAndroid Build Coastguard Worker 139*3ac0a46fSAndroid Build Coastguard Worker if (gtest_enable_absl_printers) { 140*3ac0a46fSAndroid Build Coastguard Worker deps += [ "//third_party/abseil-cpp:absl" ] 141*3ac0a46fSAndroid Build Coastguard Worker } 142*3ac0a46fSAndroid Build Coastguard Worker} 143*3ac0a46fSAndroid Build Coastguard Worker 144*3ac0a46fSAndroid Build Coastguard Worker# Do NOT depend on this directly. Use //testing/gtest:gtest_main instead. 145*3ac0a46fSAndroid Build Coastguard Worker# See README.chromium for details. 146*3ac0a46fSAndroid Build Coastguard Workersource_set("gtest_main") { 147*3ac0a46fSAndroid Build Coastguard Worker testonly = true 148*3ac0a46fSAndroid Build Coastguard Worker sources = [ "src/googletest/src/gtest_main.cc" ] 149*3ac0a46fSAndroid Build Coastguard Worker deps = [ ":gtest" ] 150*3ac0a46fSAndroid Build Coastguard Worker} 151*3ac0a46fSAndroid Build Coastguard Worker 152*3ac0a46fSAndroid Build Coastguard Worker# Do NOT depend on this directly. Use //testing/gmock:gmock_main instead. 153*3ac0a46fSAndroid Build Coastguard Worker# See README.chromium for details. 154*3ac0a46fSAndroid Build Coastguard Workersource_set("gmock") { 155*3ac0a46fSAndroid Build Coastguard Worker testonly = true 156*3ac0a46fSAndroid Build Coastguard Worker sources = [ 157*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock-actions.h", 158*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock-cardinalities.h", 159*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock-function-mocker.h", 160*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock-matchers.h", 161*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock-more-matchers.h", 162*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock-nice-strict.h", 163*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock-spec-builders.h", 164*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/gmock.h", 165*3ac0a46fSAndroid Build Coastguard Worker 166*3ac0a46fSAndroid Build Coastguard Worker #"src/googlemock/include/gmock/internal/custom/gmock-port.h", # Superseded. 167*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/internal/custom/gmock-generated-actions.h", 168*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/internal/custom/gmock-matchers.h", 169*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/internal/gmock-internal-utils.h", 170*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/internal/gmock-port.h", 171*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/include/gmock/internal/gmock-pp.h", 172*3ac0a46fSAndroid Build Coastguard Worker 173*3ac0a46fSAndroid Build Coastguard Worker #"src/googlemock/src/gmock-all.cc", # Not needed by our build. 174*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/src/gmock-cardinalities.cc", 175*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/src/gmock-internal-utils.cc", 176*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/src/gmock-matchers.cc", 177*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/src/gmock-spec-builders.cc", 178*3ac0a46fSAndroid Build Coastguard Worker "src/googlemock/src/gmock.cc", 179*3ac0a46fSAndroid Build Coastguard Worker ] 180*3ac0a46fSAndroid Build Coastguard Worker 181*3ac0a46fSAndroid Build Coastguard Worker public_deps = [ ":gtest" ] 182*3ac0a46fSAndroid Build Coastguard Worker 183*3ac0a46fSAndroid Build Coastguard Worker public_configs = [ ":gmock_config" ] 184*3ac0a46fSAndroid Build Coastguard Worker} 185*3ac0a46fSAndroid Build Coastguard Worker 186*3ac0a46fSAndroid Build Coastguard Worker# Do NOT depend on this directly. Use //testing/gmock:gmock_main instead. 187*3ac0a46fSAndroid Build Coastguard Worker# See README.chromium for details. 188*3ac0a46fSAndroid Build Coastguard Workerstatic_library("gmock_main") { 189*3ac0a46fSAndroid Build Coastguard Worker testonly = true 190*3ac0a46fSAndroid Build Coastguard Worker sources = [ "src/googlemock/src/gmock_main.cc" ] 191*3ac0a46fSAndroid Build Coastguard Worker deps = [ ":gmock" ] 192*3ac0a46fSAndroid Build Coastguard Worker} 193