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 workflow to publish a Windows binary release #34

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

drfiemost
Copy link
Member

A tentative way to automatically create a Windows binary for a release.
The way dlls are copied in the package is a bit hackish and if someone knows how to convince cmake to build a static binary it would be better.

@Mia75owo
Copy link
Contributor

I tested this on a fork and i ran into a few issues:
1.
There were problems with finding the OpenGL/GLES/EGL DLLs so i had to add these packages to the install list:

mingw-w64-x86_64-mesa
mingw-w64-x86_64-angleproject

This fixed the problem with the DLL files.
2.
This mkdir failed for me because it tried to create nested folders.
I fixed this by adding the -p flag

- mkdir ${PACKAGE_NAME}
+ mkdir -p ${PACKAGE_NAME}

There is a linker error when building with OpenMPT enabled and using -static-libgcc -static-libstdc++.
See: https://github.com/Nils75owo/Hurrican/actions/runs/7160252619/job/19494423956
I had to either remove the static linking or disable OpenMPT to get it to compile.

Also static linking for SDL2_image/mixer can be very tricky so I think the hack with copying the DLLs is fine for now as it's better than having no Windows release at all.

@Mia75owo
Copy link
Contributor

Is libEGL.dll and libGLESv2.dll even needed if Hurrican is build with the default option OpenGL2?

@drfiemost
Copy link
Member Author

This mkdir failed for me because it tried to create nested folders. I fixed this by adding the -p flag

- mkdir ${PACKAGE_NAME}
+ mkdir -p ${PACKAGE_NAME}

Are you using a tag name with slashes? This isn't supposed to happen.

There is a linker error when building with OpenMPT enabled and using -static-libgcc -static-libstdc++. See: https://github.com/Nils75owo/Hurrican/actions/runs/7160252619/job/19494423956 I had to either remove the static linking or disable OpenMPT to get it to compile.

Yeah, current version of libopenmpt have some linking issues, hope they will be fixed in the next update.

As for GLES/EGL I'm not sure why these are required, libepoxy should try to dlopen them at runtime. It was a long time ago and I don't recall the exact problem.

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

Successfully merging this pull request may close these issues.

2 participants