amethyst / rendy

State of the art "build your own engine" kit powered by gfx-hal
Other
815 stars 99 forks source link

Question about usage documentation #215

Open fedor-rusak opened 4 years ago

fedor-rusak commented 4 years ago

Context: I want (more like wish) to modify ggez to use rendy under the hood. And use this package later as a dependency for actual project.

Problem:t Made a simple example with rendy having different features for different OS'es. Example. But it fails on Win 10.

Question: How to integrate rendy in helper crate that would work on different Operationg Systems? Is there a documentation for such question?

Sorry if this is not intended use for Rendy package.

zakarumych commented 4 years ago

The way you wrote Cargo.toml hits cargo own limitations - cargo will try to build dependency with accumulated features even if some are specified under [target.'cfg(<platform_flag>)'.dependencies]

Instead rendy should be buildable with any set of features on any platform. This is the case in branch dedicated to {open,web}gl backend support which should be merged soom™️ .

By the way @icefoxen (ggez author) has plans to power-up ggez with rendy, so you probably should collaborate with him on the matter.

fedor-rusak commented 4 years ago

So correct me if I am wrong but intended usage of rendy crate is to create a project for ONE platform and specify only needed features.

I understand that limitations of cargo are beyond scope of Rendy.

Thank you for your response. I assume this integration info already documented and issue can be closed.

zakarumych commented 4 years ago

intended usage of rendy crate is to create a project for ONE platform and specify only needed features.

Correction. No. Intended usage is to specify all features you need and build on all platforms. But currently required config-macro-magic isn't merged to master so you have to reexport backend features from your crate.