2020-09-22 01:27:30 -04:00
|
|
|
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 = [
|
2020-09-22 01:39:42 -04:00
|
|
|
":bridge",
|
2020-09-01 15:51:38 -07:00
|
|
|
":demo-sys",
|
2020-02-09 18:59:12 -08:00
|
|
|
"//:cxx",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cxx_library(
|
2020-09-22 01:39:42 -04:00
|
|
|
name = "bridge",
|
|
|
|
srcs = [":bridge/source"],
|
2020-02-09 18:59:12 -08:00
|
|
|
deps = [
|
2020-09-22 01:39:42 -04:00
|
|
|
":bridge/include",
|
2020-09-01 15:51:38 -07:00
|
|
|
":demo-include",
|
2020-02-09 18:59:12 -08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
2020-09-22 01:39:42 -04:00
|
|
|
name = "bridge/header",
|
2020-02-09 18:59:12 -08:00
|
|
|
srcs = ["src/main.rs"],
|
2020-09-19 22:51:48 -04:00
|
|
|
out = "src/main.rs.h",
|
2020-02-09 18:59:12 -08:00
|
|
|
cmd = "$(exe //:codegen) --header ${SRCS} > ${OUT}",
|
|
|
|
type = "cxxbridge",
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
2020-09-22 01:39:42 -04:00
|
|
|
name = "bridge/source",
|
2020-02-09 18:59:12 -08:00
|
|
|
srcs = ["src/main.rs"],
|
2020-09-19 22:51:48 -04:00
|
|
|
out = "src/main.rs.cc",
|
2020-02-09 18:59:12 -08:00
|
|
|
cmd = "$(exe //:codegen) ${SRCS} > ${OUT}",
|
|
|
|
type = "cxxbridge",
|
|
|
|
)
|
|
|
|
|
|
|
|
cxx_library(
|
2020-09-22 01:39:42 -04:00
|
|
|
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 = [
|
2020-09-22 01:39:42 -04:00
|
|
|
":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
|
|
|
)
|