blob: a3f460bb3dcd717fc050b3545d288fa3eb891aaf [file] [log] [blame]
David Tolnay5bde59d2020-02-09 18:59:12 -08001rust_binary(
2 name = "demo-rs",
3 srcs = glob(["src/**"]),
4 deps = [
5 ":gen",
6 "//:cxx",
7 "//demo-cxx:demo-cxx",
8 ],
9)
10
11cxx_library(
12 name = "gen",
13 srcs = [":gen-source"],
14 deps = [
15 ":include",
16 "//demo-cxx:include",
17 ],
18)
19
20genrule(
21 name = "gen-header",
22 srcs = ["src/main.rs"],
David Tolnay72739632020-09-01 16:07:52 -070023 out = "generated.h",
David Tolnay5bde59d2020-02-09 18:59:12 -080024 cmd = "$(exe //:codegen) --header ${SRCS} > ${OUT}",
25 type = "cxxbridge",
David Tolnay5bde59d2020-02-09 18:59:12 -080026)
27
28genrule(
29 name = "gen-source",
30 srcs = ["src/main.rs"],
David Tolnay72739632020-09-01 16:07:52 -070031 out = "generated.cc",
David Tolnay5bde59d2020-02-09 18:59:12 -080032 cmd = "$(exe //:codegen) ${SRCS} > ${OUT}",
33 type = "cxxbridge",
David Tolnay5bde59d2020-02-09 18:59:12 -080034)
35
36cxx_library(
37 name = "include",
38 exported_headers = {
David Tolnay1a2683a2020-03-17 19:09:29 -070039 "src/main.rs.h": ":gen-header",
David Tolnay5bde59d2020-02-09 18:59:12 -080040 },
41 visibility = ["PUBLIC"],
42)