From 2af25057f488b2210845463dd80b9d31388430a4 Mon Sep 17 00:00:00 2001 From: Leo Date: Thu, 27 Feb 2020 09:41:18 -0300 Subject: main/glslang: use git release with Vulkan 1.2 support --- main/glslang/pkgconfig.patch | 143 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 main/glslang/pkgconfig.patch (limited to 'main/glslang/pkgconfig.patch') diff --git a/main/glslang/pkgconfig.patch b/main/glslang/pkgconfig.patch new file mode 100644 index 0000000000..bd280475ef --- /dev/null +++ b/main/glslang/pkgconfig.patch @@ -0,0 +1,143 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a80cd5f..0fd15ca 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,6 +87,13 @@ endmacro(glslang_pch) + + project(glslang) + ++# using pkg-config to configure include paths and link libraries ++include(FindPkgConfig) ++pkg_check_modules(SPIRV_TOOLS REQUIRED SPIRV-Tools>=2019.2.1) ++if(BUILD_SHARED_LIBS) ++ pkg_check_modules(SPIRV_TOOLS_SHARED REQUIRED SPIRV-Tools-shared>=2019.2.1) ++endif(BUILD_SHARED_LIBS) ++ + if(ENABLE_CTEST) + include(CTest) + endif() +@@ -175,11 +182,7 @@ if(BUILD_EXTERNAL AND IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/External) + add_subdirectory(External) + endif() + +-if(NOT TARGET SPIRV-Tools-opt) +- set(ENABLE_OPT OFF) +-endif() +- +-if(ENABLE_OPT) ++if(${SPIRV_TOOLS_FOUND} EQUAL 1) + message(STATUS "optimizer enabled") + add_definitions(-DENABLE_OPT=1) + else() +diff --git a/External/CMakeLists.txt b/External/CMakeLists.txt +index 6ff4f47..cfb48bd 100644 +--- a/External/CMakeLists.txt ++++ b/External/CMakeLists.txt +@@ -35,10 +35,3 @@ if(BUILD_TESTING) + endif() + endif() + +-if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt) +- if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools) +- set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests") +- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools) +- endif() +-endif() +- +diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt +index 439b991..494e21f 100755 +--- a/SPIRV/CMakeLists.txt ++++ b/SPIRV/CMakeLists.txt +@@ -40,6 +40,10 @@ target_include_directories(SPIRV PUBLIC + $ + $) + ++ ++set(SPIRV_NAME spirv) ++set(SPIRV_VERSION 1.5.1) ++ + if (ENABLE_SPVREMAPPER) + add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) + set_property(TARGET SPVRemapper PROPERTY FOLDER glslang) +@@ -53,15 +57,21 @@ if(WIN32 AND BUILD_SHARED_LIBS) + endif() + endif() + ++target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) ++target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_CFLAGS_OTHER}) ++target_link_libraries(SPIRV ${SPIRV_TOOLS_LIBRARIES}) ++if(BUILD_SHARED_LIBS) ++ target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) ++ target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_CFLAGS_OTHER}) ++ target_link_libraries(SPIRV ${SPIRV_TOOLS_SHARED_LIBRARIES}) ++endif(BUILD_SHARED_LIBS) ++ + if(ENABLE_OPT) + target_include_directories(SPIRV + PRIVATE ${spirv-tools_SOURCE_DIR}/include + PRIVATE ${spirv-tools_SOURCE_DIR}/source + ) +- target_link_libraries(SPIRV glslang SPIRV-Tools-opt) +- target_include_directories(SPIRV PUBLIC +- $ +- $) ++ target_link_libraries(SPIRV glslang) + else() + target_link_libraries(SPIRV glslang) + endif(ENABLE_OPT) +diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp +index 97bd4e7..098cb84 100644 +--- a/SPIRV/SpvTools.cpp ++++ b/SPIRV/SpvTools.cpp +@@ -43,8 +43,8 @@ + #include + + #include "SpvTools.h" +-#include "spirv-tools/optimizer.hpp" +-#include "spirv-tools/libspirv.h" ++#include ++#include + + namespace glslang { + +diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt +index 2cf2899..c981c0a 100644 +--- a/StandAlone/CMakeLists.txt ++++ b/StandAlone/CMakeLists.txt +@@ -23,6 +23,14 @@ if(ENABLE_SPVREMAPPER) + set(LIBRARIES ${LIBRARIES} SPVRemapper) + endif() + ++if(BUILD_SHARED_LIBS) ++ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_SHARED_LIBRARIES}) ++ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) ++else() ++ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_LIBRARIES}) ++ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) ++endif(BUILD_SHARED_LIBS) ++ + if(WIN32) + set(LIBRARIES ${LIBRARIES} psapi) + elseif(UNIX) +@@ -32,9 +40,6 @@ elseif(UNIX) + endif(WIN32) + + target_link_libraries(glslangValidator ${LIBRARIES}) +-target_include_directories(glslangValidator PUBLIC +- $ +- $) + + if(ENABLE_SPVREMAPPER) + set(REMAPPER_SOURCES spirv-remap.cpp) +diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt +index a0259a3..dab067d 100644 +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -80,6 +80,7 @@ set(HEADERS + MachineIndependent/preprocessor/PpContext.h + MachineIndependent/preprocessor/PpTokens.h) + ++set(VERSION 8.13.3559) + glslang_pch(SOURCES MachineIndependent/pch.cpp) + + add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS}) -- cgit v1.2.3