#!/bin/bash # Copyright 2021 Huawei Technologies Co., Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. start_dir=$(pwd) cd "$(dirname "$0")"/../../ecosystem_tools/VulkanVision if [[ ! -d "SPIRV-Tools" ]] then echo "Cloning SPIRV-Tools" git clone https://github.com/KhronosGroup/SPIRV-Tools cp st-patches/*.patch SPIRV-Tools cd SPIRV-Tools git checkout 17ffa89097b26efeb323e6963220326b5ffb2baf # These are the current stable changes and can be updated with new releases git apply 0001-spirv-opt-Add-auto-inst-passes.patch rm *.patch cd .. fi if [[ ! -d "Vulkan-ValidationLayers" ]] then echo "Cloning Vulkan-ValidationLayers" git clone https://github.com/KhronosGroup/Vulkan-ValidationLayers cp vv-patches/*.patch Vulkan-ValidationLayers cd Vulkan-ValidationLayers git checkout aa076dae88e282d7b6cada4f900b2fa7dac8ed08 # These are the current stable changes and can be updated with new releases git apply 0001-layers-Added-auto-inst-layers.patch rm *.patch cd .. fi build_dir=$(pwd) echo "Building SPIRV-Tools" cd SPIRV-Tools git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers cd external/spirv-headers git checkout f027d53ded7e230e008d37c8b47ede7cd308e19d cd ../.. git clone https://github.com/google/effcee.git external/effcee git clone https://github.com/google/re2.git external/re2 mkdir build cd build mkdir install cmake -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=install .. cmake --build . --target install --config Release -- -j 4 cd $build_dir echo "Building Vulkan-ValidationLayers" cd Vulkan-ValidationLayers mkdir build cd build mkdir install python ../scripts/update_deps.py --config release cmake -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=install -DSPIRV_TOOLS_INSTALL_DIR=$build_dir/SPIRV-Tools/build/install -C helper.cmake .. cmake --build . --target install --config Release -- -j 4 echo "Build completed at $build_dir"! cd $start_dir