build: Add dependent repo fetch script [skip ci]
Add a Python program script that clones and builds other
repositories that this repository depends on.
The script is accompanied by a JSON database that contains
the repository information, "known-good" revision information,
and other build parameters for each dependent repository.
The dependent repositories are checked out to the "known-good"
revisions to ensure that they are compatible with the checked-out
revision of this repository.
See the BUILD.md file, the update_deps.py --help output, and
the documentation found inside of the update_deps.py file for
more information.
Fixes #161
Fixes #169
diff --git a/scripts/known_good.json b/scripts/known_good.json
new file mode 100644
index 0000000..10c16be
--- /dev/null
+++ b/scripts/known_good.json
@@ -0,0 +1,78 @@
+{
+ "repos" : [
+ {
+ "name" : "glslang",
+ "url" : "https://github.com/KhronosGroup/glslang.git",
+ "sub_dir" : "glslang",
+ "build_dir" : "glslang/build",
+ "install_dir" : "glslang/build/install",
+ "commit" : "2c8265bb620300047bb9241e39c60c7afe3a81cb",
+ "prebuild" : [
+ "python update_glslang_sources.py"
+ ]
+ },
+ {
+ "name" : "Vulkan-Headers",
+ "url" : "https://github.com/KhronosGroup/Vulkan-Headers.git",
+ "sub_dir" : "Vulkan-Headers",
+ "build_dir" : "Vulkan-Headers/build",
+ "install_dir" : "Vulkan-Headers/build/install",
+ "commit" : "origin/sdk-1.1.77"
+ },
+ {
+ "name" : "Vulkan-Loader",
+ "url" : "https://github.com/KhronosGroup/Vulkan-Loader.git",
+ "sub_dir" : "Vulkan-Loader",
+ "build_dir" : "Vulkan-Loader/build",
+ "install_dir" : "Vulkan-Loader/build/install",
+ "commit" : "origin/sdk-1.1.77",
+ "deps" : [
+ {
+ "var_name" : "VULKAN_HEADERS_INSTALL_DIR",
+ "repo_name" : "Vulkan-Headers"
+ }
+ ],
+ "cmake_options" : [
+ "-DBUILD_TESTS=NO"
+ ]
+ },
+ {
+ "name" : "VulkanTools",
+ "url" : "https://github.com/LunarG/VulkanTools.git",
+ "sub_dir" : "VulkanTools",
+ "build_dir" : "VulkanTools/build",
+ "install_dir" : "VulkanTools/build/install",
+ "commit" : "origin/sdk-1.1.77",
+ "deps" : [
+ {
+ "var_name" : "VULKAN_HEADERS_INSTALL_DIR",
+ "repo_name" : "Vulkan-Headers"
+ },
+ {
+ "var_name" : "GLSLANG_INSTALL_DIR",
+ "repo_name" : "glslang"
+ }
+ ],
+ "prebuild_linux" : [
+ "bash update_external_sources.sh"
+ ],
+ "prebuild_windows" : [
+ ".\\update_external_sources.bat"
+ ],
+ "cmake_options" : [
+ "-DBUILD_TESTS=NO",
+ "-DBUILD_VKTRACE=NO",
+ "-DBUILD_VLF=NO",
+ "-DBUILD_VIA=NO"
+ ],
+ "ci_only" : [
+ "TRAVIS"
+ ]
+ }
+ ],
+ "install_names" : {
+ "glslang" : "GLSLANG_INSTALL_DIR",
+ "Vulkan-Headers" : "VULKAN_HEADERS_INSTALL_DIR",
+ "Vulkan-Loader" : "VULKAN_LOADER_INSTALL_DIR"
+ }
+}