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. |