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

Add prebuild Windows binaries #521

Open
kelteseth opened this issue Aug 17, 2024 · 5 comments
Open

Add prebuild Windows binaries #521

kelteseth opened this issue Aug 17, 2024 · 5 comments
Labels
enhancement New feature or request Future: Swift Feature Requires a future swift feature

Comments

@kelteseth
Copy link

Is your feature request related to a problem? Please describe.
Building SwiftGodot takes about 13 minutes on my 16 core Ryzen. This is really more of a SwiftPM issue, but let's track it also here.

Describe the solution you'd like
I would like to download prebuild SwiftGodot bins for Windows, similar how it is already possible on mac.

Describe alternatives you've considered
I have not found any solution to this issue. A forum thread from 2022 asked about Windows binaryTarget and a proposal for linux or none mac binary dependencies. There is also Package Manager Binary Target Improvements, but I was unable to find any example for that proposal.

All of my build files contains absolute paths, so I guess a simple package of the folder will not work.
image

Providing only the prebuild dlls at "SwiftGodot\.build\x86_64-unknown-windows-msvc\debug\SwiftGodot.dll still triggers a full rebuild.

@migueldeicaza
Copy link
Owner

Thanks for opening this issue!

@kelteseth
Copy link
Author

kelteseth commented Sep 22, 2024

I'm no longer able to compile SwiftGodot with Swift 6. It either stops doing anything while trying to link SwiftGodotMacroLibrary-tool.exe or it straight up crashes my pc (16 core 5950x with 32gb of Ram) when doing a full rebuild. I have never experienced a single crash before with my pc. I guess this has something to do with:

In Swift 6, the Swift package manager also parallelizes builds across multiple cores on Windows by default.

@kelteseth
Copy link
Author

@migueldeicaza
Copy link
Owner

Question, are you doing "Release" builds of SwiftGodot?

There is a known problem in the Swift ecosystem around the dependency on SwiftSyntax, which is both large, but also when compiled in Release mode takes forever to build. I just experienced that. In my case the difference is between 15 seconds and about 4 minutes.

Because it is trying to do Whole Module Optimizations

@migueldeicaza
Copy link
Owner

It is tragic that Swift does not have a story for pre-built binaries on Windows and Linux.

@migueldeicaza migueldeicaza added enhancement New feature or request Future: Swift Feature Requires a future swift feature labels Oct 3, 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 Future: Swift Feature Requires a future swift feature
Projects
None yet
Development

No branches or pull requests

2 participants