aboutsummaryrefslogtreecommitdiff
path: root/third_party
diff options
context:
space:
mode:
authorbtolsch <btolsch@chromium.org>2019-03-29 16:48:49 -0700
committerCommit Bot <commit-bot@chromium.org>2019-03-29 23:54:46 +0000
commit2f2e7fa4e9e4fc1e0a95ee632171d49c30d51dba (patch)
treefc1e91e268efffe6ba903b1b3584a77031f86a04 /third_party
parent8774ef2c7eaa31e1fec2ee7faef529e7e1cc7b01 (diff)
downloadopenscreen-2f2e7fa4e9e4fc1e0a95ee632171d49c30d51dba.tar.gz
Add initial chromium compile support
This change updates various BUILD.gn files to work in both standalone builds and Chromium builds. There are several main changes that have to take place: 1. Change abseil include paths so we can use any abseil location. 2. Change logging macros to use Chromium's //base/logging.h. 3. Separate out files with the GN variable build_with_chromium. 4. Add a new config to each target to maintain our include structure and change over the logging macros. Change-Id: I066698cd07b2315842c700b5adf01bdc656db9be Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1534469 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Peter Thatcher <pthatcher@google.com> Reviewed-by: Jordan Bayles <jophba@chromium.org> Reviewed-by: Yuri Wiitala <miu@chromium.org>
Diffstat (limited to 'third_party')
-rw-r--r--third_party/abseil/BUILD.gn107
-rw-r--r--third_party/googletest/BUILD.gn98
-rw-r--r--third_party/tinycbor/BUILD.gn10
3 files changed, 118 insertions, 97 deletions
diff --git a/third_party/abseil/BUILD.gn b/third_party/abseil/BUILD.gn
index 59d600ce..1aa744bf 100644
--- a/third_party/abseil/BUILD.gn
+++ b/third_party/abseil/BUILD.gn
@@ -2,55 +2,66 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-config("abseil_config") {
- include_dirs = [ "//third_party/abseil/src" ]
-}
+import("//build_overrides/build.gni")
+
+if (build_with_chromium) {
+ source_set("abseil") {
+ public_deps = [
+ "//third_party/abseil-cpp/absl/strings",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+} else {
+ config("abseil_config") {
+ include_dirs = [ "//third_party/abseil/src" ]
+ }
-source_set("abseil") {
- cflags_cc = [ "-Wno-sign-compare" ]
+ source_set("abseil") {
+ cflags_cc = [ "-Wno-sign-compare" ]
- sources = [
- "src/absl/base/attributes.h",
- "src/absl/base/config.h",
- "src/absl/base/internal/atomic_hook.h",
- "src/absl/base/internal/identity.h",
- "src/absl/base/internal/inline_variable.h",
- "src/absl/base/internal/invoke.h",
- "src/absl/base/internal/raw_logging.cc",
- "src/absl/base/internal/raw_logging.h",
- "src/absl/base/internal/throw_delegate.cc",
- "src/absl/base/internal/throw_delegate.h",
- "src/absl/base/log_severity.h",
- "src/absl/base/macros.h",
- "src/absl/base/optimization.h",
- "src/absl/base/policy_checks.h",
- "src/absl/base/port.h",
- "src/absl/memory/memory.h",
- "src/absl/meta/type_traits.h",
- "src/absl/strings/ascii.cc",
- "src/absl/strings/ascii.h",
- "src/absl/strings/internal/charconv_bigint.cc",
- "src/absl/strings/internal/charconv_bigint.h",
- "src/absl/strings/internal/charconv_parse.cc",
- "src/absl/strings/internal/charconv_parse.h",
- "src/absl/strings/internal/memutil.cc",
- "src/absl/strings/internal/memutil.h",
- "src/absl/strings/charconv.cc",
- "src/absl/strings/charconv.h",
- "src/absl/strings/match.cc",
- "src/absl/strings/match.h",
- "src/absl/strings/numbers.cc",
- "src/absl/strings/numbers.h",
- "src/absl/strings/string_view.cc",
- "src/absl/strings/string_view.h",
- "src/absl/types/bad_optional_access.cc",
- "src/absl/types/bad_optional_access.h",
- "src/absl/types/optional.cc",
- "src/absl/types/optional.h",
- ]
+ sources = [
+ "src/absl/base/attributes.h",
+ "src/absl/base/config.h",
+ "src/absl/base/internal/atomic_hook.h",
+ "src/absl/base/internal/identity.h",
+ "src/absl/base/internal/inline_variable.h",
+ "src/absl/base/internal/invoke.h",
+ "src/absl/base/internal/raw_logging.cc",
+ "src/absl/base/internal/raw_logging.h",
+ "src/absl/base/internal/throw_delegate.cc",
+ "src/absl/base/internal/throw_delegate.h",
+ "src/absl/base/log_severity.h",
+ "src/absl/base/macros.h",
+ "src/absl/base/optimization.h",
+ "src/absl/base/policy_checks.h",
+ "src/absl/base/port.h",
+ "src/absl/memory/memory.h",
+ "src/absl/meta/type_traits.h",
+ "src/absl/strings/ascii.cc",
+ "src/absl/strings/ascii.h",
+ "src/absl/strings/charconv.cc",
+ "src/absl/strings/charconv.h",
+ "src/absl/strings/internal/charconv_bigint.cc",
+ "src/absl/strings/internal/charconv_bigint.h",
+ "src/absl/strings/internal/charconv_parse.cc",
+ "src/absl/strings/internal/charconv_parse.h",
+ "src/absl/strings/internal/memutil.cc",
+ "src/absl/strings/internal/memutil.h",
+ "src/absl/strings/match.cc",
+ "src/absl/strings/match.h",
+ "src/absl/strings/numbers.cc",
+ "src/absl/strings/numbers.h",
+ "src/absl/strings/string_view.cc",
+ "src/absl/strings/string_view.h",
+ "src/absl/types/bad_optional_access.cc",
+ "src/absl/types/bad_optional_access.h",
+ "src/absl/types/optional.cc",
+ "src/absl/types/optional.h",
+ ]
- configs -= [ "//build/config:symbol_visibility_hidden" ]
- configs += [ "//build/config:symbol_visibility_default" ]
- configs -= [ "//build:default_include_dirs" ]
- public_configs = [ ":abseil_config" ]
+ configs -= [ "//build/config:symbol_visibility_hidden" ]
+ configs += [ "//build/config:symbol_visibility_default" ]
+ configs -= [ "//build:default_include_dirs" ]
+ public_configs = [ ":abseil_config" ]
+ }
}
diff --git a/third_party/googletest/BUILD.gn b/third_party/googletest/BUILD.gn
index 729b0889..b7a718ea 100644
--- a/third_party/googletest/BUILD.gn
+++ b/third_party/googletest/BUILD.gn
@@ -2,64 +2,68 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-config("gtest_config") {
- visibility = [ ":*" ]
+import("//build_overrides/build.gni")
- include_dirs = [ "src/googletest/include" ]
+if (!build_with_chromium) {
+ config("gmock_config") {
+ visibility = [ ":*" ]
- cflags_cc = []
- if (is_clang) {
- cflags_cc += [ "-Wno-exit-time-destructors" ]
+ cflags_cc = [
+ # issue/15: GMock does not support the override keyword.
+ "-Wno-inconsistent-missing-override",
+ ]
+ if (is_clang) {
+ cflags_cc += [ "-Wno-exit-time-destructors" ]
+ }
+
+ include_dirs = [ "src/googlemock/include" ]
}
-}
-config("gmock_config") {
- visibility = [ ":*" ]
+ config("gtest_config") {
+ visibility = [ ":*" ]
- cflags_cc = [
- # issue/15: GMock does not support the override keyword.
- "-Wno-inconsistent-missing-override",
- ]
- if (is_clang) {
- cflags_cc += [ "-Wno-exit-time-destructors" ]
- }
+ include_dirs = [ "src/googletest/include" ]
- include_dirs = [ "src/googlemock/include" ]
-}
+ cflags_cc = []
+ if (is_clang) {
+ cflags_cc += [ "-Wno-exit-time-destructors" ]
+ }
+ }
-source_set("gtest") {
- testonly = true
- sources = [
- "src/googletest/include/gtest.h",
- "src/googletest/src/gtest-all.cc",
- ]
+ source_set("gmock") {
+ testonly = true
+ sources = [
+ "src/googlemock/include/gmock.h",
+ "src/googlemock/src/gmock-all.cc",
+ ]
- public_configs = [ ":gtest_config" ]
+ public_configs = [
+ ":gmock_config",
+ ":gtest_config",
+ ]
- include_dirs = [ "src/googletest" ]
-}
+ include_dirs = [ "src/googlemock" ]
+ }
-source_set("gtest_main") {
- testonly = true
- sources = [
- "src/googletest/src/gtest_main.cc",
- ]
- deps = [
- ":gtest",
- ]
-}
+ source_set("gtest") {
+ testonly = true
+ sources = [
+ "src/googletest/include/gtest.h",
+ "src/googletest/src/gtest-all.cc",
+ ]
-source_set("gmock") {
- testonly = true
- sources = [
- "src/googlemock/include/gmock.h",
- "src/googlemock/src/gmock-all.cc",
- ]
+ public_configs = [ ":gtest_config" ]
- public_configs = [
- ":gmock_config",
- ":gtest_config",
- ]
+ include_dirs = [ "src/googletest" ]
+ }
- include_dirs = [ "src/googlemock" ]
+ source_set("gtest_main") {
+ testonly = true
+ sources = [
+ "src/googletest/src/gtest_main.cc",
+ ]
+ deps = [
+ ":gtest",
+ ]
+ }
}
diff --git a/third_party/tinycbor/BUILD.gn b/third_party/tinycbor/BUILD.gn
index f478381c..5127febb 100644
--- a/third_party/tinycbor/BUILD.gn
+++ b/third_party/tinycbor/BUILD.gn
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build_overrides/build.gni")
+
source_set("tinycbor") {
sources = [
"src/src/cbor.h",
@@ -14,8 +16,12 @@ source_set("tinycbor") {
"src/src/utf8_p.h",
]
- configs -= [ "//build/config:symbol_visibility_hidden" ]
- configs += [ "//build/config:symbol_visibility_default" ]
+ config_path = "//build/config"
+ if (build_with_chromium) {
+ config_path += "/gcc"
+ }
+ configs -= [ "$config_path:symbol_visibility_hidden" ]
+ configs += [ "$config_path:symbol_visibility_default" ]
defines = [ "WITHOUT_OPEN_MEMSTREAM" ]
}