diff options
author | btolsch <btolsch@chromium.org> | 2019-03-29 16:48:49 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-03-29 23:54:46 +0000 |
commit | 2f2e7fa4e9e4fc1e0a95ee632171d49c30d51dba (patch) | |
tree | fc1e91e268efffe6ba903b1b3584a77031f86a04 /third_party | |
parent | 8774ef2c7eaa31e1fec2ee7faef529e7e1cc7b01 (diff) | |
download | openscreen-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.gn | 107 | ||||
-rw-r--r-- | third_party/googletest/BUILD.gn | 98 | ||||
-rw-r--r-- | third_party/tinycbor/BUILD.gn | 10 |
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" ] } |