diff --git a/BUILD.gn b/BUILD.gn index a8954ef3b34894d12a0b63ad321a1a7c598a838b..76292b1016f17f3cda318afc11a7fb6f170971f9 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -32,3 +32,19 @@ ohos_cargo_crate("lib") { build_root = "build.rs" build_sources = [ "build.rs" ] } + +ohos_static_library("cxx_cppdeps") { + part_name = "common" + subsystem_name = "common" + defines = [ "RUST_CXX_NO_EXCEPTIONS" ] + sources = [ + "//third_party/rust/crates/cxx/include/cxx.h", + "//third_party/rust/crates/cxx/src/cxx.cc", + ] + deps = [ "//third_party/rust/crates/cxx:lib" ] + if (is_win) { + defines += [ "CXX_RS_EXPORT=__declspec(dllexport)" ] + } else { + defines += [ "CXX_RS_EXPORT=__attribute__((visibility(\"default\")))" ] + } +}