assimp/contrib/tinyusdz/tinyusdz_repo/sandbox/vulkan/build-vulkan-tools-linux.sh

66 lines
1.6 KiB
Bash
Raw Normal View History

2024-03-30 02:33:07 +00:00
#!/bin/bash
# Asssume Cmake 3.20+
glslang_dist_dir=`pwd`/dist
vk_header_dist_dir=`pwd`/dist
vk_loader_dist_dir=`pwd`/dist
function build_vk_headers() {
git clone https://github.com/KhronosGroup/Vulkan-Headers
rm -rf vk_header_build
mkdir vk_header_build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${vk_header_dist_dir}" -B vk_header_build Vulkan-Headers
cmake --build vk_header_build --config Release
cmake --build vk_header_build --config Release --target install
}
function build_validation_layer() {
git clone https://github.com/KhronosGroup/Vulkan-ValidationLayers.git
cd Vulkan-ValidationLayers
rm -rf build
mkdir build
cd build
python3 ../scripts/update_deps.py --dir ../external --arch x64 --config debug
cmake -G Ninja -C ../external/helper.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug
}
function build_glslang() {
git clone https://github.com/KhronosGroup/glslang.git
rm -rf glslang_build
mkdir glslang_build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${glslang_dist_dir}" -B glslang_build glslang
cmake --build glslang_build --config Release
cmake --build glslang_build --config Release --target install
}
function build_vk_loader() {
rm -rf vk_loader_build
mkdir vk_loader_build
git clone https://github.com/KhronosGroup/Vulkan-Loader.git
cmake -S Vulkan-Loader -B vk_loader_build -DCMAKE_INSTALL_PREFIX="${vk_loader_dist_dir}" -DUPDATE_DEPS=On
cmake --build vk_loader_build
cmake --build vk_loader_build --config Debug
cmake --build vk_loader_build --config Debug --target install
}
build_vk_headers
build_validation_layer
build_glslang
build_vk_loader