Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure into a cargo workspace #3

Open
EriKWDev opened this issue Mar 18, 2023 · 2 comments
Open

Restructure into a cargo workspace #3

EriKWDev opened this issue Mar 18, 2023 · 2 comments

Comments

@EriKWDev
Copy link
Contributor

By restructuring a bit we could create a cargo workspace so that we could separate the different headers into their own crates, or at least separate the imgui header bindings into its own crate since it requires the cimgui dependency which everyone might not need/want.

This would also make it much easier to create some manual projects such as an egui https://github.com/emilk/egui renderer for sokol that could still be hosted in the same git repo here.

@floooh
Copy link
Owner

floooh commented Mar 22, 2023

I'll need to tinker with the bindings a bit and read up on cargo workspaces before having an opinion on that :)

@EriKWDev
Copy link
Contributor Author

EriKWDev commented Mar 22, 2023

Of course :)

Here are some examples of other projects that are structured as cargo workspaces:

The benefit is that you can have a single repository with all the related code but still publish multiple separate crates that can be depended upon and compiled independently.

The alternative is to keep the structure as is.

I think it's mostly a preference thing, but I noticed that if you add this GitHub link as a dependency in cargo, cargo will download all the cimgui/imgui stuff wether you wanted it or not during compilation which might be avoidable if we split into a workspace, but that would have to be verified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants