Cargo Features

[dependencies]
flecs_ecs_sys = { version = "0.1.2", default-features = false, features = ["regenerate_binding", "flecs_force_enable_ecs_asserts", "force_build_debug", "force_build_release", "use_os_alloc", "disable_build_c", "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_meta_c", "flecs_units", "flecs_json", "flecs_doc", "flecs_log", "flecs_app", "flecs_os_api_impl", "flecs_http", "flecs_rest", "flecs_journal"] }
regenerate_binding

Regenerate the C binding for flecs C

flecs_force_enable_ecs_asserts

force enables both rust and c ecs asserts, useful when running release mode, but wanting the asserts for safety

force_build_debug

force build debug for flecs C, even in release mode

force_build_release

force build release for C flecs, even in debug mode

use_os_alloc

tell C flecs to use the OS allocator instead of its own

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.

flecs_term_count_64

Flecs C defines / features


Adjust the maximum number of terms in queries to 64. Default is 32.

flecs_module flecs_doc? flecs_meta? flecs_pipeline? flecs_script? flecs_stats? flecs_system? flecs_timer? flecs_units?

Module support

flecs_script = flecs_doc, flecs_meta, flecs_module

ECS data definition format

flecs_snapshot

Snapshot & restore ECS data

flecs_stats = flecs_module, flecs_pipeline, flecs_timer

Access runtime statistics

flecs_metrics = flecs_meta, flecs_pipeline, flecs_units

Expose component data as statistics

flecs_alerts = flecs_pipeline

Monitor conditions for errors

flecs_system flecs_pipeline? = flecs_module

System support

flecs_pipeline flecs_alerts? flecs_app? flecs_metrics? flecs_rest? flecs_stats? flecs_timer? = flecs_module, flecs_system

Pipeline support

flecs_timer flecs_stats? = flecs_module, flecs_pipeline

Timer support

flecs_meta flecs_json? flecs_metrics? flecs_script? flecs_units? = flecs_meta_c, flecs_module

Reflection support

flecs_meta_c default flecs_meta?

Utilities for populating reflection data

flecs_units flecs_metrics? = flecs_meta, flecs_module

Builtin standard units

flecs_json flecs_rest? = flecs_meta

Parsing JSON to/from component values

flecs_doc flecs_script? = flecs_module

Document entities & components

flecs_log flecs_journal?

When enabled ECS provides more detailed logs

flecs_app = flecs_pipeline

Application addon

flecs_os_api_impl

Default implementation for OS API

flecs_http flecs_rest?

Tiny HTTP server for connecting to remote UI

Affects mbindings::ecs_http_server_http_request

flecs_rest = flecs_http, flecs_json, flecs_pipeline

REST API for querying application data

flecs_journal = flecs_log

Journaling addon (disabled by default)

default = flecs_meta_c

Default features