slang icon indicating copy to clipboard operation
slang copied to clipboard

Put debug symbols in releases

Open expipiplus1 opened this issue 1 year ago • 2 comments

Closes https://github.com/shader-slang/slang/issues/5267

expipiplus1 avatar Oct 22 '24 07:10 expipiplus1

Have you verified this works on windows? From the build log it is still outputting to the Release folder.

csyonghe avatar Oct 22 '24 15:10 csyonghe

Have you verified this works on windows? From the build log it is still outputting to the Release folder.

Where are you observing this, in CI it's compiling into RelWithDebInfo image

I changed things to make RelWithDebInfo the default config btw

expipiplus1 avatar Oct 23 '24 02:10 expipiplus1

There are a lot of warnings on windows builds:

cl : Command line warning D9025 : overriding '/MD' with '/MT'

csyonghe avatar Oct 23 '24 23:10 csyonghe

yeah, I'm looking into that now

expipiplus1 avatar Oct 24 '24 03:10 expipiplus1

ok, looks like it's fixed

expipiplus1 avatar Oct 24 '24 04:10 expipiplus1

will need to change the 'release' rules here to 'releaseWithDebugInfo' once this is merged. https://github.com/shader-slang/slang/settings/branch_protection_rules/1102224

expipiplus1 avatar Oct 25 '24 12:10 expipiplus1

Question: when this lands, what is our prebuilt binary package directory structure? Are things under bin/RelWithDebInfo/ instead of bin/Release. I really don't like RelWithDebInfo.

csyonghe avatar Oct 25 '24 22:10 csyonghe

image This has been the layout for a while now, no Release or RelWithDebInfo either way

In the build tree it'll look like build/RelWithDebInfo/bin/* yes. It's very possible with CMake to change that to build/bin for example (or build/Foo/bin) if that's something you want?

expipiplus1 avatar Oct 26 '24 02:10 expipiplus1

The package layout is good, no need for changes then.

csyonghe avatar Oct 27 '24 16:10 csyonghe

It's definitely possible to do separate debug info on linux (but no on MacOS I think?), but it's not very common in my experience.

In fact, I think at the moment we're embedding the debug info on Windows as well (sccache doesn't support separate debug info iirc)

expipiplus1 avatar Oct 29 '24 11:10 expipiplus1

IIRC the binaries with debug info embedded is very big, something about 50MB? Not sure if it actually is a good idea to include it for all of our users, but it is probably still the better choice? We could provide a separate withDebInfo package for Linux and windows x64 only.

csyonghe avatar Oct 29 '24 15:10 csyonghe