diff --git a/api/sixtyfps-cpp/Cargo.toml b/api/sixtyfps-cpp/Cargo.toml index 29a679aa2..418eb795b 100644 --- a/api/sixtyfps-cpp/Cargo.toml +++ b/api/sixtyfps-cpp/Cargo.toml @@ -13,7 +13,12 @@ publish = false path = "lib.rs" crate-type = ["cdylib"] +[features] +# In the future, this shouldn't be a default feature, but should be enabled by cmake +default = ["sixtyfps-interpreter"] + [dependencies] sixtyfps-corelib = { version = "=0.0.5", path="../../sixtyfps_runtime/corelib", features = ["ffi"] } sixtyfps-rendering-backend-default = { version = "=0.0.5", path="../../sixtyfps_runtime/rendering_backends/default" } +sixtyfps-interpreter = { version = "=0.0.5", path="../../sixtyfps_runtime/interpreter", features = ["ffi"], optional = true } diff --git a/sixtyfps_runtime/interpreter/Cargo.toml b/sixtyfps_runtime/interpreter/Cargo.toml index f8b71ee4e..a8d61c2c2 100644 --- a/sixtyfps_runtime/interpreter/Cargo.toml +++ b/sixtyfps_runtime/interpreter/Cargo.toml @@ -13,6 +13,7 @@ path = "lib.rs" [features] display-diagnostics = ["sixtyfps-compilerlib/display-diagnostics"] +ffi = [] [dependencies] sixtyfps-corelib = { version = "=0.0.5", path = "../corelib", features = ["rtti"] } diff --git a/sixtyfps_runtime/interpreter/api.rs b/sixtyfps_runtime/interpreter/api.rs index 8a0619832..36433e75d 100644 --- a/sixtyfps_runtime/interpreter/api.rs +++ b/sixtyfps_runtime/interpreter/api.rs @@ -738,6 +738,7 @@ pub mod testing { } } +/// For the C++ integration #[cfg(feature = "ffi")] pub mod ffi { use super::*; diff --git a/xtask/src/cbindgen.rs b/xtask/src/cbindgen.rs index 3ae26bb9a..7e38adba6 100644 --- a/xtask/src/cbindgen.rs +++ b/xtask/src/cbindgen.rs @@ -320,8 +320,7 @@ fn gen_backend(root_dir: &Path, include_dir: &Path) -> anyhow::Result<()> { } fn gen_interpreter(root_dir: &Path, include_dir: &Path) -> anyhow::Result<()> { - let mut config = default_config(); - config.export.include.push("ValueOpaque".into()); + let config = default_config(); let mut crate_dir = root_dir.to_owned(); crate_dir.extend(["sixtyfps_runtime", "interpreter"].iter()); cbindgen::Builder::new()