| David Tolnay | 5bde59d | 2020-02-09 18:59:12 -0800 | [diff] [blame^] | 1 | rust_binary( |
| 2 | name = "demo-rs", | ||||
| 3 | srcs = glob(["src/**"]), | ||||
| 4 | deps = [ | ||||
| 5 | ":gen", | ||||
| 6 | "//:cxx", | ||||
| 7 | "//demo-cxx:demo-cxx", | ||||
| 8 | ], | ||||
| 9 | ) | ||||
| 10 | |||||
| 11 | cxx_library( | ||||
| 12 | name = "gen", | ||||
| 13 | srcs = [":gen-source"], | ||||
| 14 | deps = [ | ||||
| 15 | ":include", | ||||
| 16 | "//demo-cxx:include", | ||||
| 17 | ], | ||||
| 18 | ) | ||||
| 19 | |||||
| 20 | genrule( | ||||
| 21 | name = "gen-header", | ||||
| 22 | srcs = ["src/main.rs"], | ||||
| 23 | cmd = "$(exe //:codegen) --header ${SRCS} > ${OUT}", | ||||
| 24 | type = "cxxbridge", | ||||
| 25 | out = "gen-demo.h", | ||||
| 26 | ) | ||||
| 27 | |||||
| 28 | genrule( | ||||
| 29 | name = "gen-source", | ||||
| 30 | srcs = ["src/main.rs"], | ||||
| 31 | cmd = "$(exe //:codegen) ${SRCS} > ${OUT}", | ||||
| 32 | type = "cxxbridge", | ||||
| 33 | out = "gen-demo.cc", | ||||
| 34 | ) | ||||
| 35 | |||||
| 36 | cxx_library( | ||||
| 37 | name = "include", | ||||
| 38 | exported_headers = { | ||||
| 39 | "src/main.rs": ":gen-header", | ||||
| 40 | }, | ||||
| 41 | visibility = ["PUBLIC"], | ||||
| 42 | ) | ||||