Chromium Code Reviews| Index: testing/test.gni |
| diff --git a/testing/test.gni b/testing/test.gni |
| index 646d7170a66098fb75889523339cd7688827a9e7..5077546863ef5749480f5b3ec3aba5aaf7986c30 100644 |
| --- a/testing/test.gni |
| +++ b/testing/test.gni |
| @@ -152,6 +152,127 @@ template("test") { |
| ":$apk_name", |
| ] |
| } |
| + } else if (is_ios) { |
| + if (is_ios) { |
| + import("//build/config/ios/rules.gni") |
| + } |
| + |
| + target__sources_name = "${target_name}__sources" |
| + if (defined(invoker.sources)) { |
| + source_set(target__sources_name) { |
| + sources = invoker.sources |
| + testonly = true |
| + |
| + configs = [] # Prevent list overwriting warning. |
| + configs += invoker.configs |
| + |
| + if (defined(invoker.data)) { |
| + data = invoker.data |
| + } |
| + if (defined(invoker.deps)) { |
| + deps = invoker.deps |
| + } |
| + if (defined(invoker.data_deps)) { |
| + data_deps = invoker.data_deps |
| + } |
| + if (defined(invoker.datadeps)) { |
| + datadeps = invoker.datadeps |
| + } |
| + if (defined(invoker.defines)) { |
| + defines = invoker.defines |
| + } |
| + if (defined(invoker.includes)) { |
| + defines = invoker.includes |
| + } |
| + } |
| + } |
| + |
| + ios_app(target_name) { |
| + info_plist = "//testing/gtest_ios/unittest-Info.plist" |
|
sdefresne
2015/07/25 19:15:30
Some unit tests on iOS do specify different Info.p
Dirk Pranke
2015/07/31 21:27:41
Added a TODO.
|
| + app_name = target_name |
| + entitlements_path = "//testing/gtest_ios" |
| + code_signing_identity = "" |
| + testonly = true |
| + |
| + # See above call. |
| + set_sources_assignment_filter([]) |
| + |
| + if (defined(invoker.all_dependent_configs)) { |
| + all_dependent_configs = invoker.all_dependent_configs |
| + } |
| + if (defined(invoker.allow_circular_includes_from)) { |
| + allow_circular_includes_from = invoker.allow_circular_includes_from |
| + } |
| + if (defined(invoker.cflags)) { |
| + cflags = invoker.cflags |
| + } |
| + if (defined(invoker.cflags_c)) { |
| + cflags_c = invoker.cflags_c |
| + } |
| + if (defined(invoker.cflags_cc)) { |
| + cflags_cc = invoker.cflags_cc |
| + } |
| + if (defined(invoker.cflags_objc)) { |
| + cflags_objc = invoker.cflags_objc |
| + } |
| + if (defined(invoker.cflags_objcc)) { |
| + cflags_objcc = invoker.cflags_objcc |
| + } |
| + if (defined(invoker.check_includes)) { |
| + check_includes = invoker.check_includes |
| + } |
| + |
| + if (defined(invoker.deps)) { |
| + deps = invoker.deps |
| + } else { |
| + deps = [] |
| + } |
| + deps += [ |
| + # All shared libraries must have the sanitizer deps to properly link in |
| + # asan mode (this target will be empty in other cases). |
| + "//build/config/sanitizers:deps", |
| + |
| + # Give tests the default manifest on Windows (a no-op elsewhere). |
| + "//build/win:default_exe_manifest", |
|
sdefresne
2015/07/25 19:15:30
Can we omit this since it is a noop?
Dirk Pranke
2015/07/31 21:27:41
Done.
|
| + ] |
| + |
| + if (defined(invoker.forward_dependent_configs_from)) { |
| + forward_dependent_configs_from = invoker.forward_dependent_configs_from |
| + } |
| + if (defined(invoker.include_dirs)) { |
| + include_dirs = invoker.include_dirs |
| + } |
| + if (defined(invoker.ldflags)) { |
| + ldflags = invoker.ldflags |
| + } |
| + if (defined(invoker.lib_dirs)) { |
| + lib_dirs = invoker.lib_dirs |
| + } |
| + if (defined(invoker.libs)) { |
| + libs = invoker.libs |
| + } |
| + if (defined(invoker.output_extension)) { |
| + output_extension = invoker.output_extension |
| + } |
| + if (defined(invoker.output_name)) { |
| + output_name = invoker.output_name |
| + } |
| + if (defined(invoker.public)) { |
| + public = invoker.public |
| + } |
| + if (defined(invoker.public_configs)) { |
| + public_configs = invoker.public_configs |
| + } |
| + if (defined(invoker.public_deps)) { |
| + public_deps = invoker.public_deps |
| + } |
| + if (defined(invoker.sources)) { |
| + deps += [ ":${target__sources_name}" ] |
| + } |
| + if (defined(invoker.visibility)) { |
| + visibility = invoker.visibility |
| + } |
| + } |
| } else { |
| executable(target_name) { |
| # See above. |