diff --git a/.github/workflows/gdextension.yml b/.github/workflows/gdextension.yml index b784816..1f489f3 100644 --- a/.github/workflows/gdextension.yml +++ b/.github/workflows/gdextension.yml @@ -41,7 +41,7 @@ on: # Global Settings env: SCONS_CACHE_LIMIT: 4096 - SCONSFLAGS: use_mingw=yes dev_build=no + SCONSFLAGS: use_mingw=yes dev_build=no debug_symbols=yes symbols_visibility=visible EM_VERSION: 3.1.45 EM_CACHE_FOLDER: "emsdk-cache" GODOT_VERSION: 4.3-stable @@ -280,10 +280,6 @@ jobs: ndk-version: r23c link-to-sdk: true - - name: Set up MSVC problem matcher on Windows - if: matrix.opts.platform == 'windows' - uses: ammaraskar/msvc-problem-matcher@master - - name: Set up scons cache if: inputs.test-build # ! Only cache test/PR builds uses: actions/cache@v4 @@ -304,6 +300,31 @@ jobs: PATH=${GITHUB_WORKSPACE}/buildroot/bin:$PATH scons platform=${{matrix.opts.platform}} target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} ${{env.DEBUG_FLAGS}} ${{matrix.opts.scons-flags}} ${{env.SCONSFLAGS}} + - name: Separate debug symbols on Linux & Windows + if: inputs.debug-symbols && (matrix.opts.platform == 'linux' || matrix.opts.platform == 'windows') + shell: bash + run: | + cd demo/addons/limboai/bin/ + if [ "${{matrix.opts.platform}}" == "windows" ]; then + libname=${BIN}.dll + else + libname=${BIN}.so + fi + objcopy --only-keep-debug ${libname} ${libname}.debug + objcopy --add-gnu-debuglink ${libname}.debug ${libname} + strip --strip-debug ${libname} + readelf --debug-dump=links ${libname} + + - name: Separate debug symbols on macOS + if: inputs.debug-symbols && matrix.opts.platform == 'macos' + shell: bash + run: | + cd demo/addons/limboai/bin/liblimboai.*.framework/ + libname=liblimboai.${{matrix.opts.platform}}.${{matrix.opts.target}} + dsymutil ${libname} + strip -x ${libname} + nm ${libname} + - name: Prepare artifact shell: bash run: |