mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-11 01:20:44 +01:00
Add support for building the CEF binary distribution using Bazel and the default platform toolchain. Tested to work for Windows x64, MacOS ARM64 and x64 (cross-compile from ARM64), and Linux x64. Windows x86 (cross-compile from x64) is known to be broken, see https://github.com/bazelbuild/bazel/issues/22164. Includes minor changes to tests directory structure to meet Bazel build requirements.
33 lines
911 B
Cheetah
33 lines
911 B
Cheetah
# vi: ft=bzl
|
|
package(default_visibility = ["//visibility:private"])
|
|
|
|
_imports = [p[:len(p)-2] for p in glob(["{}/**/*.a".format(d) for d in [%{deps}]])]
|
|
[cc_import(
|
|
name = i.replace("/", "_"),
|
|
hdrs = glob([%{hdrs}]),
|
|
# TODO: library extension for platform.
|
|
static_library = "{}.a".format(i),
|
|
shared_library = "{}.dylib".format(i),
|
|
) for i in _imports]
|
|
|
|
cc_library(
|
|
name = "internal_lib",
|
|
hdrs = glob([%{hdrs}]),
|
|
copts = [%{copts}],
|
|
includes = [%{includes}],
|
|
linkopts = [%{linkopts}],
|
|
deps = [(":" + i.replace("/", "_")) for i in _imports],
|
|
)
|
|
|
|
cc_library(
|
|
name = "lib",
|
|
hdrs = glob(["%{strip_include}/**/*.h"]),
|
|
copts = [%{extra_copts}],
|
|
linkopts = [%{extra_linkopts}],
|
|
deps = [":internal_lib"] + [%{extra_deps}],
|
|
visibility = ["//visibility:public"],
|
|
strip_include_prefix = "%{strip_include}",
|
|
include_prefix = "%{include_prefix}",
|
|
)
|
|
|