#!/bin/bash build_ktx () { cmake ktx -B ktx/build \ -D KTX_FEATURE_LOADTEST_APPS=ON \ -D KTX_FEATURE_DOC=ON \ -D CMAKE_EXPORT_COMPILE_COMMANDS=1 \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=$(realpath vendor) \ -D CMAKE_CXX_STANDARD=17 \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_CXX_FLAGS="-msse4.1" \ -G Ninja cmake --build ktx/build --config Release cmake --install ktx/build } build_app () { bear -- clang++ -g -c -Wno-nullability-completeness -DVK_NO_PROTOTYPES -I$VULKAN_SDK/include -Ivendor/include vulkan_profiles/vulkan_profiles.cpp main.cpp bear -a -- clang -g -c -DVK_NO_PROTOTYPES -Ivulkan_profiles -I$VULKAN_SDK/include $VULKAN_SDK/include/volk/volk.c wapp/wapp.c bear -a -- clang++ -g -DVK_NO_PROTOTYPES -L$VULKAN_SDK/lib -Lvendor/lib -lSDL3 -lglm -ltinyobjloader -lktx -lslang -o main *.o } clean_obj () { rm *.o } build_ktx build_app clean_obj