add build script for vma

This commit is contained in:
Matthew 2025-08-15 05:44:10 +10:00
parent ecbae83931
commit d7fa7fbc85
2 changed files with 32 additions and 2 deletions

32
build.sh Normal file
View File

@ -0,0 +1,32 @@
#!/bin/bash
set -eu
if [ -z "$1" ]; then
echo "No output parameter named, please pass the build directory to this script."
exit 1
fi
script_dir=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
build="$1"
if [ -x "$(command -v g++)" ]; then cpp_compiler="g++"; c_compiler="gcc";
elif [ -x "$(command -v clang++)" ]; then cpp_compiler="clang++"; c_compiler="clang";
else echo "Unable to find c++ cpp_compiler"; exit -1; fi;
if [ -x "$(command -v mold)" ]; then linker_cmd="-fuse-ld=mold";
elif [ -x "$(command -v lld)" ]; then linker_cmd="-fuse-ld=lld";
elif [ -x "$(command -v ld)" ]; then linker_cmd="-fuse-ld=ld";
else echo "Unable to find c/c++ linker"; exit -1; fi;
# Build VMA
src="${script_dir}/vma/vma.cpp"
flags="-std=c++20 -D_USE_MATH_DEFINES -Iexternal/vma -c -Wno-everything -static"
out="-o"
obj="${build}/vma.o"
lib="${build}/libvma.a"
if ! [ -f libvma.a ]; then
$cpp_compiler $flags $src $out $obj
ar rcs $lib $obj
rm $obj
fi

View File

@ -17,6 +17,4 @@
#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1
#define VMA_VULKAN_VERSION 1002000
#define VMA_IMPLEMENTATION
#include "vma/vk_mem_alloc.h"