The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have

also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).

We have moved .mm files out of test_support and fileutils (into test_support_objc
and fileutils_objc).

To achieve the goal for run_test and test_renderer (in the next part of the phrase
X is run_test or test_renderer) we have created 2 targets (X_objc and X_generic)
and X will act as a proxy between these targets (this way we can avoid a circular
dependency between X_generic and X_objc).

BUG=webrtc:7743

Review-Url: https://codereview.webrtc.org/2991323003
Cr-Commit-Position: refs/heads/master@{#19479}
This commit is contained in:
mbonadei 2017-08-23 23:55:54 -07:00 committed by Commit Bot
parent ca6d3b60b5
commit cd95a4ec76

View File

@ -109,6 +109,17 @@ rtc_source_set("field_trial") {
]
}
if (is_ios) {
rtc_source_set("test_support_objc") {
testonly = true
visibility = [ ":*" ]
sources = [
"ios/test_support.h",
"ios/test_support.mm",
]
}
}
rtc_source_set("test_support") {
testonly = true
@ -124,11 +135,11 @@ rtc_source_set("test_support") {
"testsupport/unittest_utils.h",
]
public_deps = [
":fileutils",
]
if (is_ios) {
sources += [
"ios/test_support.h",
"ios/test_support.mm",
]
public_deps += [ ":test_support_objc" ]
}
deps = [
@ -141,10 +152,6 @@ rtc_source_set("test_support") {
"//testing/gtest",
]
public_deps = [
":fileutils",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
@ -343,8 +350,23 @@ if (!build_with_chromium) {
}
}
if (is_ios) {
rtc_source_set("fileutils_objc") {
visibility = [ ":*" ]
sources = [
"testsupport/iosfileutils.mm",
]
deps = [
"..:webrtc_common",
"../rtc_base:rtc_base_approved",
"../sdk:objc_common",
]
}
}
rtc_source_set("fileutils") {
testonly = true
visibility = [ ":*" ]
sources = [
"testsupport/fileutils.cc",
"testsupport/fileutils.h",
@ -354,27 +376,58 @@ rtc_source_set("fileutils") {
"../rtc_base:rtc_base_approved",
]
if (is_ios) {
sources += [ "testsupport/iosfileutils.mm" ]
deps += [ "../sdk:objc_common" ]
deps += [ ":fileutils_objc" ]
}
if (is_win) {
deps += [ "../rtc_base:rtc_base" ]
}
visibility = [ ":*" ]
}
rtc_source_set("run_test") {
testonly = true
if (is_mac) {
public_deps = [
":run_test_objc",
]
} else {
public_deps = [
":run_test_generic",
]
}
}
rtc_source_set("run_test_interface") {
testonly = true
visibility = [ ":*" ]
sources = [
"run_test.h",
]
if (is_mac) {
sources += [ "mac/run_test.mm" ]
} else {
sources += [ "run_test.cc" ]
}
if (is_mac) {
rtc_source_set("run_test_objc") {
testonly = true
visibility = [ ":*" ]
sources = [
"mac/run_test.mm",
]
public_deps = [
":run_test_interface",
]
}
}
rtc_source_set("run_test_generic") {
testonly = true
visibility = [ ":*" ]
sources = [
"run_test.cc",
]
public_deps = [
":run_test_interface",
]
}
rtc_source_set("fileutils_unittests") {
testonly = true
visibility = [ ":*" ] # Only targets in this file can depend on this.
@ -543,18 +596,64 @@ config("test_renderer_exported_config") {
rtc_source_set("test_renderer") {
testonly = true
if (is_mac) {
public_deps = [
":test_renderer_objc",
]
} else {
public_deps = [
":test_renderer_generic",
]
}
}
if (is_mac) {
rtc_source_set("test_renderer_objc") {
testonly = true
visibility = [ ":*" ]
sources = [
"mac/video_renderer_mac.h",
"mac/video_renderer_mac.mm",
]
public_deps = [
":test_renderer_generic",
]
deps = [
"../rtc_base:rtc_base_approved",
]
libs = [
"Cocoa.framework",
"OpenGL.framework",
"CoreVideo.framework",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
}
rtc_source_set("test_renderer_generic") {
testonly = true
visibility = [ ":*" ]
libs = []
sources = [
"linux/glx_renderer.cc",
"linux/glx_renderer.h",
"linux/video_renderer_linux.cc",
"mac/video_renderer_mac.h",
"mac/video_renderer_mac.mm",
"video_renderer.cc",
"video_renderer.h",
"win/d3d_renderer.cc",
"win/d3d_renderer.h",
]
deps = [
":test_support",
"..:webrtc_common",
"../common_video",
"../modules/media_file",
"../rtc_base:rtc_base_approved",
"//testing/gtest",
]
if (!is_linux && !is_mac && !is_win) {
sources += [ "null_platform_renderer.cc" ]
}
@ -578,13 +677,6 @@ rtc_source_set("test_renderer") {
"log",
]
}
if (is_mac) {
libs = [
"Cocoa.framework",
"OpenGL.framework",
"CoreVideo.framework",
]
}
public_configs = [ ":test_renderer_exported_config" ]
@ -592,15 +684,6 @@ rtc_source_set("test_renderer") {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
deps = [
":test_support",
"..:webrtc_common",
"../common_video",
"../modules/media_file",
"../rtc_base:rtc_base_approved",
"//testing/gtest",
]
}
rtc_source_set("audio_codec_mocks") {