From 28eb805520a6b1fedb5d6045a8433d4df8847a20 Mon Sep 17 00:00:00 2001 From: Light Date: Sun, 22 Aug 2021 16:02:05 +0430 Subject: [PATCH] Added shaderc --- .gitmodules | 9 +++++++++ BuildScripts/build.lua | 4 +++- BuildScripts/dependencies.lua | 32 ++++++++++++++++++-------------- Dependencies/glslang | 1 + Dependencies/shaderc | 1 + Dependencies/spirv-headers | 1 + Engine/build.lua | 12 ++++++++++++ 7 files changed, 45 insertions(+), 15 deletions(-) create mode 160000 Dependencies/glslang create mode 160000 Dependencies/shaderc create mode 160000 Dependencies/spirv-headers diff --git a/.gitmodules b/.gitmodules index 10007e6..d1c5112 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,12 @@ [submodule "Dependencies/imgui"] path = Dependencies/imgui url = https://github.com/Light3039/imgui +[submodule "Dependencies/shaderc"] + path = Dependencies/shaderc + url = https://github.com/Light3039/shaderc +[submodule "Dependencies/glslang"] + path = Dependencies/glslang + url = https://github.com/Light3039/glslang +[submodule "Dependencies/spirv-headers"] + path = Dependencies/spirv-headers + url = https://github.com/KhronosGroup/SPIRV-Headers diff --git a/BuildScripts/build.lua b/BuildScripts/build.lua index 821f84c..e288ec1 100644 --- a/BuildScripts/build.lua +++ b/BuildScripts/build.lua @@ -29,4 +29,6 @@ group "Dependencies" include "../Dependencies/GLAD/build.lua" include "../Dependencies/imgui/build.lua" include "../Dependencies/stb_image/build.lua" - include "../Dependencies/entt/build.lua" \ No newline at end of file + include "../Dependencies/entt/build.lua" + include "../Dependencies/shaderc/build.lua" + include "../Dependencies/glslang/build.lua" \ No newline at end of file diff --git a/BuildScripts/dependencies.lua b/BuildScripts/dependencies.lua index fbc4c1a..bc444a6 100644 --- a/BuildScripts/dependencies.lua +++ b/BuildScripts/dependencies.lua @@ -4,21 +4,24 @@ vulkan_sdk_env_dir = os.getenv("VULKAN_SDK") -- include directories include_dirs = {} -include_dirs["entt"] = "%{wks.location}/Dependencies/entt/"; -include_dirs["glad"] = "%{wks.location}/Dependencies/GLAD/include"; -include_dirs["glfw"] = "%{wks.location}/Dependencies/GLFW/include"; -include_dirs["glm"] = "%{wks.location}/Dependencies/glm"; -include_dirs["imgui"] = "%{wks.location}/Dependencies/imgui"; -include_dirs["imgui_backends"] = "%{wks.location}/Dependencies/imgui/backends"; -include_dirs["spdlog"] = "%{wks.location}/Dependencies/spdlog/include"; -include_dirs["stb_image"] = "%{wks.location}/Dependencies/stb_image"; -include_dirs["volk"] = "%{wks.location}/Dependencies/volk"; +include_dirs["entt"] = "%{wks.location}/Dependencies/entt/" +include_dirs["glad"] = "%{wks.location}/Dependencies/GLAD/include" +include_dirs["glfw"] = "%{wks.location}/Dependencies/GLFW/include" +include_dirs["glm"] = "%{wks.location}/Dependencies/glm" +include_dirs["imgui"] = "%{wks.location}/Dependencies/imgui" +include_dirs["imgui_backends"] = "%{wks.location}/Dependencies/imgui/backends" +include_dirs["spdlog"] = "%{wks.location}/Dependencies/spdlog/include" +include_dirs["stb_image"] = "%{wks.location}/Dependencies/stb_image" +include_dirs["volk"] = "%{wks.location}/Dependencies/volk" +include_dirs["shaderc"] = "%{wks.location}/Dependencies/shaderc/libshaderc/include" +include_dirs["glslang"] = "%{wks.location}/Dependencies/glslang/" +include_dirs["spirv"] = "%{wks.location}/Dependencies/spirv-headers/include" -include_dirs["engine"] = "%{wks.location}/Engine/src/Engine"; -include_dirs["engine_platform_graphics"] = "%{wks.location}/Engine/src/Platform/GraphicsAPI"; -include_dirs["engine_platform_os"] = "%{wks.location}/Engine/src/Platform/OS"; +include_dirs["engine"] = "%{wks.location}/Engine/src/Engine" +include_dirs["engine_platform_graphics"] = "%{wks.location}/Engine/src/Platform/GraphicsAPI" +include_dirs["engine_platform_os"] = "%{wks.location}/Engine/src/Platform/OS" -include_dirs["vulkan_sdk"] = "%{vulkan_sdk_env_dir}/Include"; +include_dirs["vulkan_sdk"] = "%{vulkan_sdk_env_dir}/Include" -- library directories lib_dirs = {} @@ -28,4 +31,5 @@ lib_dirs["vulkan_sdk"] = "%{vulkan_sdk_env_dir}/Lib/" libs = {} libs["shaderc"] = "%{vulkan_sdk_env_dir}/Lib/shaderc_shared.lib" -libs["spirv_cross"] = "%{vulkan_sdk_env_dir}/Lib/spirv-cross-core.lib" \ No newline at end of file +libs["spirv_cross"] = "%{vulkan_sdk_env_dir}/Lib/spirv-cross-core.lib" +libs["spirv_tools"] = "%{vulkan_sdk_env_dir}/Lib/SPIRV-Tools.lib" \ No newline at end of file diff --git a/Dependencies/glslang b/Dependencies/glslang new file mode 160000 index 0000000..36b8d3a --- /dev/null +++ b/Dependencies/glslang @@ -0,0 +1 @@ +Subproject commit 36b8d3a8aa988f6b80185c3368514c1048544152 diff --git a/Dependencies/shaderc b/Dependencies/shaderc new file mode 160000 index 0000000..80f6716 --- /dev/null +++ b/Dependencies/shaderc @@ -0,0 +1 @@ +Subproject commit 80f6716cf5f3708066fd43134e892bfdeaeb5ff1 diff --git a/Dependencies/spirv-headers b/Dependencies/spirv-headers new file mode 160000 index 0000000..449bc98 --- /dev/null +++ b/Dependencies/spirv-headers @@ -0,0 +1 @@ +Subproject commit 449bc986ba6f4c5e10e32828783f9daef2a77644 diff --git a/Engine/build.lua b/Engine/build.lua index 0b95d03..d1a5dec 100644 --- a/Engine/build.lua +++ b/Engine/build.lua @@ -46,6 +46,15 @@ project "Engine" "%{include_dirs.spdlog}", "%{include_dirs.stb_image}", "%{include_dirs.volk}", + "%{include_dirs.shaderc}", + + "%{include_dirs.vulkan_sdk}", + } + + -- Libraries -- + libdirs + { + "%{lib_dirs.vulkan_sdk}", } -- Links -- @@ -56,6 +65,9 @@ project "Engine" "ImGui", "stb_image", "entt", + "shaderc", + + "%{libs.spirv_cross}", } --- Filters ---