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

Support macOS #2

Closed
Salzian opened this issue Mar 12, 2023 · 5 comments · Fixed by #84
Closed

Support macOS #2

Salzian opened this issue Mar 12, 2023 · 5 comments · Fixed by #84
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@Salzian
Copy link
Owner

Salzian commented Mar 12, 2023

No description provided.

@Salzian Salzian added enhancement New feature or request help wanted Extra attention is needed labels Mar 12, 2023
@Salzian Salzian self-assigned this Mar 8, 2024
@Salzian
Copy link
Owner Author

Salzian commented Mar 8, 2024

Got a basic version running locally but requires some cleanup before merging.

@Salzian Salzian removed the help wanted Extra attention is needed label Mar 8, 2024
@Salzian Salzian added this to the v1.0 milestone Mar 8, 2024
@msvbg
Copy link

msvbg commented Jul 12, 2024

Hey, are you still looking into this? Otherwise I might have a stab at it in the coming weeks.

@Salzian
Copy link
Owner Author

Salzian commented Jul 15, 2024

I did work on this in the macos branch. I just pushed my latest WIP changes, but I remember there were still unresolved issues.

The biggest problem I face is, that bevy AFAIK does not have a bundling mechanism for assets. And depending on the operating system, dynamic libraries can only be loaded from certain directories, also depending on the working directory from where the executable was started.

I was able to get Windows working very easily, as it seems to load DLLs from many directories by default. However, macOS doesn't do that. I tried using linking options in build.rs, but no luck. There is also barely any info on the topic of dynamic libraries with rust on macOS. Seems like it's quite a niece use case.

The only way I was able to get it consistently work is by also copying over the dynlib files into the build output. But I would rather appreciate it if there was already a uniform bundling mechanism in bevy, similar to how other engines bundle their assets.

So yes, if you have an elegant idea or can convince the rust compiler somehow to use stable and correct linking arguments, go for it. I'm not working on this right now.

@Salzian Salzian mentioned this issue Jul 31, 2024
@msvbg
Copy link

msvbg commented Aug 2, 2024

Sorry for the slow response, I forgot to reply to this. I see that you've now sorted this out without my help!

@Salzian
Copy link
Owner Author

Salzian commented Aug 2, 2024

@msvbg No worries. I just wanted to push 0.5 on my machine and got annoyed by the lack of proper MacOS support again 😅

@Salzian Salzian modified the milestones: v1.0, v0.6 Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants