blob: 846c149f8d9dad97f1e1f089db995d925a9f1867 [file] [log] [blame]
David Tolnay717c7e62020-09-24 09:32:12 -04001load("//tools/buck:rust_cxx_bridge.bzl", "rust_cxx_bridge")
David Tolnay55151b42020-09-22 01:27:30 -04002
David Tolnay5bde59d2020-02-09 18:59:12 -08003rust_binary(
David Tolnay37531b42020-09-01 15:51:38 -07004 name = "demo",
5 srcs = glob(["src/**/*.rs"]),
David Tolnay5bde59d2020-02-09 18:59:12 -08006 deps = [
David Tolnaydc579902020-09-22 01:39:42 -04007 ":bridge",
David Tolnay37531b42020-09-01 15:51:38 -07008 ":demo-sys",
David Tolnay5bde59d2020-02-09 18:59:12 -08009 "//:cxx",
David Tolnay5bde59d2020-02-09 18:59:12 -080010 ],
11)
12
David Tolnay717c7e62020-09-24 09:32:12 -040013rust_cxx_bridge(
David Tolnaydc579902020-09-22 01:39:42 -040014 name = "bridge",
David Tolnay717c7e62020-09-24 09:32:12 -040015 src = "src/main.rs",
16 deps = [":demo-include"],
David Tolnay37531b42020-09-01 15:51:38 -070017)
18
19cxx_library(
20 name = "demo-sys",
21 srcs = ["src/demo.cc"],
22 compiler_flags = ["-std=c++14"],
23 deps = [
David Tolnaydc579902020-09-22 01:39:42 -040024 ":bridge/include",
David Tolnay37531b42020-09-01 15:51:38 -070025 ":demo-include",
David Tolnay37531b42020-09-01 15:51:38 -070026 ],
27)
28
29cxx_library(
30 name = "demo-include",
31 exported_headers = ["include/demo.h"],
32 deps = ["//:core"],
David Tolnay5bde59d2020-02-09 18:59:12 -080033)