summaryrefslogtreecommitdiffstats
path: root/mojo/mojo_public_tests.gypi
diff options
context:
space:
mode:
authorcmasone@chromium.org <cmasone@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-11 21:11:42 +0000
committercmasone@chromium.org <cmasone@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-11 21:11:42 +0000
commit9aec3aecfcac9ca8220019b077610e482f556707 (patch)
treebc807abdbed3c925d0cadfde367c90942e3d4da9 /mojo/mojo_public_tests.gypi
parent81fb503d886f148f657e9f4fa6e2f982033937e8 (diff)
downloadchromium_src-9aec3aecfcac9ca8220019b077610e482f556707.zip
chromium_src-9aec3aecfcac9ca8220019b077610e482f556707.tar.gz
chromium_src-9aec3aecfcac9ca8220019b077610e482f556707.tar.bz2
Split targets with external dependencies out of mojo_public.gypi
The non-testing code in src/mojo/public should be buildable without depending on anything outside of that directory. It's fine for test code to depend on base/ and gtest/, though. Due to the way GYP works, having targets for both production and test code in the same .gypi file winds up trying to resolve the dependencies for both kinds of targets, breaking the ability to build the public mojo code hermetically. Splitting the targets out will enable consumers of the mojo code to build the public code standalone using GYP. BUG=chromium:388412 TEST=build and run all mojo unittests Review URL: https://codereview.chromium.org/385603003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282699 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/mojo_public_tests.gypi')
-rw-r--r--mojo/mojo_public_tests.gypi193
1 files changed, 193 insertions, 0 deletions
diff --git a/mojo/mojo_public_tests.gypi b/mojo/mojo_public_tests.gypi
new file mode 100644
index 0000000..658d594
--- /dev/null
+++ b/mojo/mojo_public_tests.gypi
@@ -0,0 +1,193 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'mojo_test_support',
+ 'type': 'shared_library',
+ 'defines': [
+ 'MOJO_TEST_SUPPORT_IMPLEMENTATION',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '..',
+ ],
+ },
+ 'sources': [
+ 'public/c/test_support/test_support.h',
+ 'public/c/test_support/test_support_export.h',
+ 'public/tests/test_support_private.cc',
+ 'public/tests/test_support_private.h',
+ ],
+ 'conditions': [
+ ['OS=="mac"', {
+ 'xcode_settings': {
+ # Make it a run-path dependent library.
+ 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
+ },
+ }],
+ ],
+ },
+ {
+ 'target_name': 'mojo_public_test_utils',
+ 'type': 'static_library',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../testing/gtest.gyp:gtest',
+ 'mojo_test_support',
+ ],
+ 'sources': [
+ 'public/cpp/test_support/lib/test_support.cc',
+ 'public/cpp/test_support/lib/test_utils.cc',
+ 'public/cpp/test_support/test_utils.h',
+ ],
+ },
+ # TODO(vtl): Reorganize the mojo_public_*_unittests.
+ {
+ 'target_name': 'mojo_public_bindings_unittests',
+ 'type': 'executable',
+ 'dependencies': [
+ '../testing/gtest.gyp:gtest',
+ 'mojo_cpp_bindings',
+ 'mojo_environment_standalone',
+ 'mojo_public_test_utils',
+ 'mojo_run_all_unittests',
+ 'mojo_public_test_interfaces',
+ 'mojo_utility',
+ ],
+ 'sources': [
+ 'public/cpp/bindings/tests/array_unittest.cc',
+ 'public/cpp/bindings/tests/bounds_checker_unittest.cc',
+ 'public/cpp/bindings/tests/buffer_unittest.cc',
+ 'public/cpp/bindings/tests/connector_unittest.cc',
+ 'public/cpp/bindings/tests/handle_passing_unittest.cc',
+ 'public/cpp/bindings/tests/interface_ptr_unittest.cc',
+ 'public/cpp/bindings/tests/request_response_unittest.cc',
+ 'public/cpp/bindings/tests/router_unittest.cc',
+ 'public/cpp/bindings/tests/sample_service_unittest.cc',
+ 'public/cpp/bindings/tests/string_unittest.cc',
+ 'public/cpp/bindings/tests/struct_unittest.cc',
+ 'public/cpp/bindings/tests/type_conversion_unittest.cc',
+ 'public/cpp/bindings/tests/validation_test_input_parser.cc',
+ 'public/cpp/bindings/tests/validation_test_input_parser.h',
+ 'public/cpp/bindings/tests/validation_unittest.cc',
+ ],
+ },
+ {
+ 'target_name': 'mojo_public_environment_unittests',
+ 'type': 'executable',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../testing/gtest.gyp:gtest',
+ 'mojo_environment_standalone',
+ 'mojo_public_test_utils',
+ 'mojo_run_all_unittests',
+ 'mojo_utility',
+ ],
+ 'sources': [
+ 'public/cpp/environment/tests/async_waiter_unittest.cc',
+ 'public/cpp/environment/tests/logger_unittest.cc',
+ 'public/cpp/environment/tests/logging_unittest.cc',
+ ],
+ },
+ {
+ 'target_name': 'mojo_public_application_unittests',
+ 'type': 'executable',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../testing/gtest.gyp:gtest',
+ 'mojo_application',
+ 'mojo_run_all_unittests',
+ 'mojo_environment_standalone',
+ 'mojo_utility',
+ ],
+ 'sources': [
+ 'public/cpp/application/tests/service_registry_unittest.cc',
+ ],
+ },
+ {
+ 'target_name': 'mojo_public_system_unittests',
+ 'type': 'executable',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../testing/gtest.gyp:gtest',
+ 'mojo_cpp_bindings',
+ 'mojo_public_test_utils',
+ 'mojo_run_all_unittests',
+ ],
+ 'sources': [
+ 'public/c/system/tests/core_unittest.cc',
+ 'public/c/system/tests/core_unittest_pure_c.c',
+ 'public/c/system/tests/macros_unittest.cc',
+ 'public/cpp/system/tests/core_unittest.cc',
+ 'public/cpp/system/tests/macros_unittest.cc',
+ ],
+ },
+ {
+ 'target_name': 'mojo_public_utility_unittests',
+ 'type': 'executable',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../testing/gtest.gyp:gtest',
+ 'mojo_cpp_bindings',
+ 'mojo_public_test_utils',
+ 'mojo_run_all_unittests',
+ 'mojo_utility',
+ ],
+ 'sources': [
+ 'public/cpp/utility/tests/mutex_unittest.cc',
+ 'public/cpp/utility/tests/run_loop_unittest.cc',
+ 'public/cpp/utility/tests/thread_unittest.cc',
+ ],
+ 'conditions': [
+ # See crbug.com/342893:
+ ['OS=="win"', {
+ 'sources!': [
+ 'public/cpp/utility/tests/mutex_unittest.cc',
+ 'public/cpp/utility/tests/thread_unittest.cc',
+ ],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'mojo_public_system_perftests',
+ 'type': 'executable',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../testing/gtest.gyp:gtest',
+ 'mojo_public_test_utils',
+ 'mojo_run_all_perftests',
+ 'mojo_utility',
+ ],
+ 'sources': [
+ 'public/c/system/tests/core_perftest.cc',
+ ],
+ },
+ {
+ 'target_name': 'mojo_public_test_interfaces',
+ 'type': 'static_library',
+ 'sources': [
+ 'public/interfaces/bindings/tests/math_calculator.mojom',
+ 'public/interfaces/bindings/tests/sample_factory.mojom',
+ 'public/interfaces/bindings/tests/sample_import.mojom',
+ 'public/interfaces/bindings/tests/sample_import2.mojom',
+ 'public/interfaces/bindings/tests/sample_interfaces.mojom',
+ 'public/interfaces/bindings/tests/sample_service.mojom',
+ 'public/interfaces/bindings/tests/test_structs.mojom',
+ 'public/interfaces/bindings/tests/validation_test_interfaces.mojom',
+ ],
+ 'includes': [ 'public/tools/bindings/mojom_bindings_generator.gypi' ],
+ 'export_dependent_settings': [
+ 'mojo_cpp_bindings',
+ ],
+ 'dependencies': [
+ 'mojo_cpp_bindings',
+ ],
+ },
+ ],
+}