godot-cpp-template icon indicating copy to clipboard operation
godot-cpp-template copied to clipboard

Rename macOS and windows binaries to fit the OSs better in SConstruct

Open Ivorforce opened this issue 1 year ago • 1 comments

The primary change is in SConstruct:

"{}{}{}{}".format(env.subst("$SHLIBPREFIX"), libname, env["suffix"], env.subst("$SHLIBSUFFIX"))

This names binaries as they should be named depending on OS and godot tags. This happens to rename only windows and macOS:

  • windows drops the lib prefix
  • macOS adds a .universal.dylib suffix

Another change regards the macos.framework folder, which is now named EXTENSION-NAME-macos.framework. It is common practice to name the .framework folder after the actual library name. I'm keeping the -macos because, unlike other libraries, we have different binaries for different platforms.

Finally, using Install copies the original file name, allowing us to avoid passing the name again manually and stay consistent.

Originally part of #49

Ivorforce avatar Oct 03 '24 08:10 Ivorforce

It is notable that a rather annoying bug currently exists that makes the .framework approach rather unattractive: https://github.com/godotengine/godot/issues/96403 (edit: though notably in 4.3 only, not 4.4 dev)

I've narrowed it down to this exact cause, but it's difficult for me to pinpoint where exactly in the code the error occurs, so far.

Ivorforce avatar Oct 04 '24 16:10 Ivorforce

As you sure? I remember the requirement on windows to link by abs path and linkflags

fire avatar Nov 08 '24 15:11 fire

As you sure? I remember the requirement on windows to link by abs path and linkflags

You mean regarding my .framework problem? It may have to do with the fact that I don't sign the frameworks yet. Or that i've been using a template_release build for the editor, which apparently expects template_release? I'll have to do some more testing before coming to final conclusions.

Either way for this PR i'm using the recommended .framework approach.

Ivorforce avatar Nov 08 '24 16:11 Ivorforce

Superseded by multiple PRs that came since I opened this one.

Ivorforce avatar Apr 09 '25 21:04 Ivorforce