[package] name = "flecs_ecs_sys" version = "0.1.2" edition.workspace = true license = "MIT" repository.workspace = true authors = ["Indra de Backere "] description = "sys binding for C/CPP flecs ECS library " keywords = ["flecs", "ecs", "sys"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lints] workspace = true [dependencies] libc = "0.2.153" [build-dependencies] bindgen = "0.69.4" cc = "1.0.83" regex = "1.9.5" [features] # Regenerate the C binding for flecs C regenerate_binding = [] # force enables both rust and c ecs asserts, useful when running release mode, but wanting the asserts for safety flecs_force_enable_ecs_asserts = [] # force build debug for flecs C, even in release mode force_build_debug = [] # force build release for C flecs, even in debug mode force_build_release = [] # tell C flecs to use the OS allocator instead of its own use_os_alloc = [] # Enabling this will not build a copy of flecs into this library. # Instead, the executable that this is linked with will need to # provide the symbols required. This is useful when using both # Rust and C++ code in an application and a copy of flecs is # already being linked into the executable via other means. disable_build_c = [] ############################### # Flecs C defines / features ############################### # Adjust the maximum number of terms in queries to 64. Default is 32. flecs_term_count_64 = [] # Module support flecs_module = [] # ECS data definition format flecs_script = ["flecs_module", "flecs_meta", "flecs_doc"] # Snapshot & restore ECS data flecs_snapshot = [] # Access runtime statistics flecs_stats = ["flecs_pipeline", "flecs_timer", "flecs_module"] # Expose component data as statistics flecs_metrics = ["flecs_meta", "flecs_units", "flecs_pipeline"] # Monitor conditions for errors flecs_alerts = ["flecs_pipeline"] # System support flecs_system = ["flecs_module"] # Pipeline support flecs_pipeline = ["flecs_module", "flecs_system"] # Timer support flecs_timer = ["flecs_module", "flecs_pipeline"] # Reflection support flecs_meta = ["flecs_meta_c", "flecs_module"] # Utilities for populating reflection data flecs_meta_c = [] # Builtin standard units flecs_units = ["flecs_module", "flecs_meta"] # Parsing JSON to/from component values flecs_json = ["flecs_meta"] # Document entities & components flecs_doc = ["flecs_module"] # When enabled ECS provides more detailed logs flecs_log = [] # Application addon flecs_app = ["flecs_pipeline"] # Default implementation for OS API flecs_os_api_impl = [] # Tiny HTTP server for connecting to remote UI flecs_http = [] # REST API for querying application data flecs_rest = ["flecs_http", "flecs_json", "flecs_pipeline"] # Journaling addon (disabled by default) flecs_journal = ["flecs_log"] # Default features default = [ "flecs_meta_c", ]