58 lines
1.0 KiB
Python
Raw Normal View History

load("//tools/buck:genrule.bzl", "genrule")
2020-02-09 18:59:12 -08:00
rust_binary(
2020-09-01 15:51:38 -07:00
name = "demo",
srcs = glob(["src/**/*.rs"]),
2020-02-09 18:59:12 -08:00
deps = [
":bridge",
2020-09-01 15:51:38 -07:00
":demo-sys",
2020-02-09 18:59:12 -08:00
"//:cxx",
],
)
cxx_library(
name = "bridge",
srcs = [":bridge/source"],
2020-02-09 18:59:12 -08:00
deps = [
":bridge/include",
2020-09-01 15:51:38 -07:00
":demo-include",
2020-02-09 18:59:12 -08:00
],
)
genrule(
name = "bridge/header",
2020-02-09 18:59:12 -08:00
srcs = ["src/main.rs"],
out = "src/main.rs.h",
2020-02-09 18:59:12 -08:00
cmd = "$(exe //:codegen) --header ${SRCS} > ${OUT}",
type = "cxxbridge",
)
genrule(
name = "bridge/source",
2020-02-09 18:59:12 -08:00
srcs = ["src/main.rs"],
out = "src/main.rs.cc",
2020-02-09 18:59:12 -08:00
cmd = "$(exe //:codegen) ${SRCS} > ${OUT}",
type = "cxxbridge",
)
cxx_library(
name = "bridge/include",
exported_headers = [":bridge/header"],
2020-09-01 15:51:38 -07:00
)
cxx_library(
name = "demo-sys",
srcs = ["src/demo.cc"],
compiler_flags = ["-std=c++14"],
deps = [
":bridge/include",
2020-09-01 15:51:38 -07:00
":demo-include",
],
)
cxx_library(
name = "demo-include",
exported_headers = ["include/demo.h"],
deps = ["//:core"],
2020-02-09 18:59:12 -08:00
)