| # Copyright 2014 The Crashpad Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| { |
| 'includes': [ |
| '../../build/crashpad_dependencies.gypi', |
| ], |
| 'conditions': [ |
| ['1==1', { # Defer processing until crashpad_dependencies is set |
| 'variables': { |
| 'conditions': [ |
| ['crashpad_dependencies=="standalone"', { |
| 'googletest_dir': 'googletest/googletest', |
| }], |
| ['crashpad_dependencies=="external"', { |
| 'googletest_dir': '../../../../gtest', |
| }], |
| ], |
| }, |
| }], |
| ], |
| 'target_defaults': { |
| # googletest relies heavily on objects with static storage duration. |
| 'xcode_settings': { |
| 'WARNING_CFLAGS!': [ |
| '-Wexit-time-destructors', |
| ], |
| }, |
| 'cflags!': [ |
| '-Wexit-time-destructors', |
| ], |
| |
| 'conditions': [ |
| ['OS=="android" and android_api_level!="" and android_api_level<24', { |
| 'defines!': [ |
| # Although many system interfaces are available to 32-bit code with |
| # 64-bit off_t at API 21, the routines in <stdio.h> are not until API |
| # 24. googletest doesn’t make use of these functions directly, but can |
| # reach them indirectly via the C++ standard library. Disable 64-bit |
| # off_t prior to API 24 so that these uses can work. Since nothing |
| # dependent on the size of off_t should escape googletest’s own API, this |
| # should be safe even in a program that otherwise uses a 64-bit off_t. |
| '_FILE_OFFSET_BITS=64', |
| ], |
| }], |
| ], |
| }, |
| |
| 'targets': [ |
| { |
| 'target_name': 'googletest', |
| 'type': 'static_library', |
| 'include_dirs': [ |
| '<(googletest_dir)', |
| '<(googletest_dir)/include', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/include/gtest/gtest-death-test.h', |
| '<(googletest_dir)/include/gtest/gtest-matchers.h', |
| '<(googletest_dir)/include/gtest/gtest-message.h', |
| '<(googletest_dir)/include/gtest/gtest-param-test.h', |
| '<(googletest_dir)/include/gtest/gtest-printers.h', |
| '<(googletest_dir)/include/gtest/gtest-spi.h', |
| '<(googletest_dir)/include/gtest/gtest-test-part.h', |
| '<(googletest_dir)/include/gtest/gtest-typed-test.h', |
| '<(googletest_dir)/include/gtest/gtest.h', |
| '<(googletest_dir)/include/gtest/gtest_pred_impl.h', |
| '<(googletest_dir)/include/gtest/gtest_prod.h', |
| '<(googletest_dir)/include/gtest/internal/custom/gtest-port.h', |
| '<(googletest_dir)/include/gtest/internal/custom/gtest-printers.h', |
| '<(googletest_dir)/include/gtest/internal/custom/gtest.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-death-test-internal.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-filepath.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-internal.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-param-util-generated.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-param-util.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-port-arch.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-port.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-string.h', |
| '<(googletest_dir)/include/gtest/internal/gtest-type-util.h', |
| '<(googletest_dir)/src/gtest-all.cc', |
| '<(googletest_dir)/src/gtest-death-test.cc', |
| '<(googletest_dir)/src/gtest-filepath.cc', |
| '<(googletest_dir)/src/gtest-internal-inl.h', |
| '<(googletest_dir)/src/gtest-matchers.cc', |
| '<(googletest_dir)/src/gtest-port.cc', |
| '<(googletest_dir)/src/gtest-printers.cc', |
| '<(googletest_dir)/src/gtest-test-part.cc', |
| '<(googletest_dir)/src/gtest-typed-test.cc', |
| '<(googletest_dir)/src/gtest.cc', |
| ], |
| 'sources!': [ |
| '<(googletest_dir)/src/gtest-all.cc', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '<(googletest_dir)/include', |
| ], |
| }, |
| 'conditions': [ |
| ['crashpad_dependencies=="external"', { |
| 'include_dirs': [ |
| '<(googletest_dir)/../..', |
| ], |
| 'defines': [ |
| 'GUNIT_NO_GOOGLE3=1', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '<(googletest_dir)/../..', |
| ], |
| 'defines': [ |
| 'GUNIT_NO_GOOGLE3=1', |
| ], |
| }, |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'googletest_main', |
| 'type': 'static_library', |
| 'dependencies': [ |
| 'googletest', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/src/gtest_main.cc', |
| ], |
| }, |
| { |
| 'target_name': 'googletest_test_executable', |
| 'type': 'none', |
| 'dependencies': [ |
| 'googletest', |
| ], |
| 'direct_dependent_settings': { |
| 'type': 'executable', |
| 'include_dirs': [ |
| '<(googletest_dir)', |
| ], |
| }, |
| 'export_dependent_settings': [ |
| 'googletest', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_all_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| 'googletest_main', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/googletest-death-test-test.cc', |
| '<(googletest_dir)/test/googletest-filepath-test.cc', |
| '<(googletest_dir)/test/googletest-message-test.cc', |
| '<(googletest_dir)/test/googletest-options-test.cc', |
| '<(googletest_dir)/test/googletest-port-test.cc', |
| '<(googletest_dir)/test/googletest-printers-testcc', |
| '<(googletest_dir)/test/googletest-test-part-test.cc', |
| '<(googletest_dir)/test/gtest-typed-test2_test.cc', |
| '<(googletest_dir)/test/gtest-typed-test_test.cc', |
| '<(googletest_dir)/test/gtest-typed-test_test.h', |
| '<(googletest_dir)/test/gtest_main_unittest.cc', |
| '<(googletest_dir)/test/gtest_pred_impl_unittest.cc', |
| '<(googletest_dir)/test/gtest_prod_test.cc', |
| '<(googletest_dir)/test/gtest_skip_test.cc', |
| '<(googletest_dir)/test/gtest_unittest.cc', |
| '<(googletest_dir)/test/production.cc', |
| '<(googletest_dir)/test/production.h', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_environment_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_environment_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_listener_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/googletest-listener-test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_macro_stack_footprint_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_test_macro_stack_footprint_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_no_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_no_test_unittest.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_param_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/googletest-param-test-test.cc', |
| '<(googletest_dir)/test/googletest-param-test-test.h', |
| '<(googletest_dir)/test/googletest-param-test2-test.cc', |
| ], |
| 'conditions': [ |
| ['clang!=0', { |
| # For googletest/googlemock/test/gmock-matchers_test.cc’s |
| # Unstreamable::value_. |
| 'conditions': [ |
| ['OS=="mac"', { |
| 'xcode_settings': { |
| 'WARNING_CFLAGS': [ |
| '-Wno-unused-private-field', |
| ], |
| }, |
| }], |
| ['OS=="linux" or OS=="android"', { |
| 'cflags': [ |
| '-Wno-unused-private-field', |
| ], |
| }], |
| ], |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'gtest_premature_exit_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_premature_exit_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_repeat_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_repeat_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_skip_in_environment_setup_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_skip_in_environment_setup_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_sole_header_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| 'googletest_main', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_sole_header_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_stress_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest_stress_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'gtest_unittest_api_test', |
| 'dependencies': [ |
| 'googletest_test_executable', |
| ], |
| 'sources': [ |
| '<(googletest_dir)/test/gtest-unittest-api_test.cc', |
| ], |
| }, |
| { |
| 'target_name': 'googletest_all_tests', |
| 'type': 'none', |
| 'dependencies': [ |
| 'gtest_all_test', |
| 'gtest_environment_test', |
| 'gtest_listener_test', |
| 'gtest_macro_stack_footprint_test', |
| 'gtest_no_test', |
| 'gtest_param_test', |
| 'gtest_premature_exit_test', |
| 'gtest_repeat_test', |
| 'gtest_skip_in_environment_setup_test', |
| 'gtest_sole_header_test', |
| 'gtest_stress_test', |
| 'gtest_unittest_api_test', |
| ], |
| }, |
| ], |
| } |