scripts/archive-source.sh: Archive subprojects

Cherry-pick part of QEMU 2019cab for Vulkan dependency support before
merging future QEMU updates.
This commit is contained in:
Matt Borgerson 2024-12-30 22:29:30 -07:00 committed by mborgerson
parent 08ce952441
commit fde6b17ed0
2 changed files with 12 additions and 0 deletions

View File

@ -23,6 +23,8 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install dependencies
run: sudo apt-get install meson
# On push to master, increment patch version and create a new tag on release
- name: Increment patch version
if: github.event_name == 'push' && github.ref == 'refs/heads/master'

View File

@ -33,6 +33,8 @@ submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloa
submodules="$submodules ui/thirdparty/imgui ui/thirdparty/implot ui/thirdparty/httplib util/xxHash tomlplusplus genconfig"
submodules="$submodules hw/xbox/nv2a/pgraph/thirdparty/nv2a_vsh_cpu"
subprojects="glslang SPIRV-Reflect volk VulkanMemoryAllocator"
sub_deinit=""
function cleanup() {
@ -56,6 +58,14 @@ function tree_ish() {
git archive --format tar "$(tree_ish)" > "$tar_file"
test $? -ne 0 && error "failed to archive qemu"
for sp in $subprojects; do
meson subprojects download $sp
# test $? -ne 0 && error "failed to download subproject $sp"
tar --append --file "$tar_file" --exclude=.git subprojects/$sp
test $? -ne 0 && error "failed to append subproject $sp to $tar_file"
done
for sm in $submodules; do
status="$(git submodule status "$sm")"
smhash="${status#[ +-]}"