Put debug symbols in releases
Closes https://github.com/shader-slang/slang/issues/5267
Have you verified this works on windows? From the build log it is still outputting to the Release folder.
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
I changed things to make RelWithDebInfo the default config btw
There are a lot of warnings on windows builds:
cl : Command line warning D9025 : overriding '/MD' with '/MT'
yeah, I'm looking into that now
ok, looks like it's fixed
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
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.
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?
The package layout is good, no need for changes then.
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)
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.