Cargo Features
[dependencies]
flecs_ecs = { version = "0.1.3", default-features = false, features = ["flecs_regenerate_binding_c", "flecs_force_build_debug_c", "flecs_force_build_release_c", "flecs_force_enable_ecs_asserts", "flecs_use_os_alloc", "flecs_disable_build_c", "flecs_manual_registration", "flecs_term_count_64", "flecs_module", "flecs_script", "flecs_snapshot", "flecs_stats", "flecs_metrics", "flecs_alerts", "flecs_system", "flecs_pipeline", "flecs_timer", "flecs_meta", "flecs_units", "flecs_json", "flecs_doc", "flecs_log", "flecs_app", "flecs_os_api_impl", "flecs_http", "flecs_rest", "flecs_journal", "flecs_nightly_tests"] }
- flecs_regenerate_binding_c
-
sys feature flags
Regenerate the C binding for flecs CEnables regenerate_binding of flecs_ecs_sys
- flecs_force_build_debug_c
-
force build debug for flecs C, even in release mode
Enables force_build_debug of flecs_ecs_sys
- flecs_force_build_release_c
-
force build release for C flecs, even in debug mode
Enables force_build_release of flecs_ecs_sys
- flecs_force_enable_ecs_asserts
-
force enables both rust and c ecs asserts, useful when running release mode, but wanting the asserts for safety
Enables flecs_force_enable_ecs_asserts of flecs_ecs_sys
- flecs_use_os_alloc
-
tell C flecs to use the OS allocator instead of its own
Enables use_os_alloc of flecs_ecs_sys
- flecs_disable_build_c
-
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.Enables disable_build_c of flecs_ecs_sys
- flecs_manual_registration
-
Flecs feature flags
When set, the Rust API will require that components are registered before they are used. This is useful in multithreaded applications, where components need to be registered beforehand, and to catch issues in projects where component registration is mandatory. Disabling automatic component registration also improves performance, more so in multi-world applications.
The C API is not affected by this feature. - flecs_term_count_64
-
Adjust the maximum number of terms in queries to 64. Default is 32.
Enables flecs_term_count_64 of flecs_ecs_sys
- flecs_module default flecs_doc flecs_meta flecs_pipeline flecs_script flecs_stats flecs_system flecs_timer flecs_units
-
Module support
Enables flecs_module of flecs_ecs_sys
Affects
addons::module
… - flecs_script default = flecs_doc, flecs_meta, flecs_module
-
ECS data definition format
Enables flecs_script of flecs_ecs_sys
- flecs_snapshot default
-
Snapshot & restore ECS data
Enables flecs_snapshot of flecs_ecs_sys
- flecs_stats default = flecs_module, flecs_pipeline, flecs_timer
-
Access runtime statistics
Enables flecs_stats of flecs_ecs_sys
Affects
addons::stats
… - flecs_metrics default = flecs_meta, flecs_pipeline, flecs_units
-
Expose component data as statistics
Enables flecs_metrics of flecs_ecs_sys
- flecs_alerts default = flecs_pipeline
-
Monitor conditions for errors
Enables flecs_alerts of flecs_ecs_sys
- flecs_system default flecs_pipeline = flecs_module
-
System support
Enables flecs_system of flecs_ecs_sys
Affects
addons::system
,flecs::system
,flecs::pipeline
… - flecs_pipeline default flecs_alerts flecs_app flecs_metrics flecs_rest flecs_stats flecs_timer = flecs_module, flecs_system
-
Pipeline support
Enables flecs_pipeline of flecs_ecs_sys
Affects
addons::pipeline
… - flecs_timer default flecs_stats = flecs_module, flecs_pipeline
-
Timer support
Enables flecs_timer of flecs_ecs_sys
Affects
addons::timer
,flecs::timer
… - flecs_meta default flecs_json flecs_metrics flecs_script flecs_units = flecs_module
-
Reflection support
Enables flecs_meta of flecs_ecs_sys
Affects
flecs::meta
… - flecs_units default flecs_metrics = flecs_meta, flecs_module
-
Builtin standard units
Enables flecs_units of flecs_ecs_sys
- flecs_json default flecs_rest = flecs_meta
-
Parsing JSON to/from component values
Enables flecs_json of flecs_ecs_sys
- flecs_doc default flecs_script = flecs_module
-
Document entities & components
Enables flecs_doc of flecs_ecs_sys
Affects
addons::doc
… - flecs_log default flecs_journal?
-
When enabled ECS provides more detailed logs
Enables flecs_log of flecs_ecs_sys
- flecs_app default = flecs_pipeline
-
Application addon
Enables flecs_app of flecs_ecs_sys
Affects
addons::app
… - flecs_os_api_impl default
-
Default implementation for OS API
Enables flecs_os_api_impl of flecs_ecs_sys
- flecs_http default flecs_rest
-
Tiny HTTP server for connecting to remote UI
Enables flecs_http of flecs_ecs_sys
- flecs_rest default = flecs_http, flecs_json, flecs_pipeline
-
REST API for querying application data
Enables flecs_rest of flecs_ecs_sys
Affects
flecs::rest
… - flecs_journal = flecs_log
-
Journaling addon (disabled by default)
Enables flecs_journal of flecs_ecs_sys
- flecs_nightly_tests
-
When enabled, flecs ecs library will run examples as test cases. Works only in Nightly
- default = flecs_alerts, flecs_app, flecs_doc, flecs_http, flecs_json, flecs_log, flecs_meta, flecs_metrics, flecs_module, flecs_os_api_impl, flecs_pipeline, flecs_rest, flecs_script, flecs_snapshot, flecs_stats, flecs_system, flecs_timer, flecs_units
-
These default features are set whenever
flecs_ecs
is added without
somewhere in the dependency tree.default-features = false