From 09af4fb779a0d0a9befa8668b5bd4d5ac0e7b9c6 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Thu, 26 May 2022 23:00:55 +0800 Subject: [PATCH 001/100] added shaderc dep --- CMakeLists.txt | 190 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 188 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 847c0613..ccba9a85 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,13 @@ set_property(GLOBAL APPEND PROPERTY SPIRV-Tools_deps_extra "SPIRV-Headers\;SPIRV # manually list robin-hood-hashing as Vulkan-ValidationLayers dependency set_property(GLOBAL APPEND PROPERTY Vulkan-ValidationLayers_deps_extra "robin-hood-hashing\;ROBIN_HOOD_HASHING_INSTALL_DIR") +# setup shaderc depends +set_property(GLOBAL APPEND PROPERTY shaderc_deps_extra "SPIRV-Tools\;spirv-tools_SOURCE_DIR;Glslang\;glslang_SOURCE_DIR") +set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_SKIP_TESTS:BOOL=ON) +set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_ENABLE_SHARED_CRT:BOOL=ON) +set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_SKIP_COPYRIGHT_CHECK:BOOL=ON) +set_property(GLOBAL APPEND PROPERTY shaderc_commit "1bbf43f210941ba69a2cd05cf3529063f1ff5bb9") + # robin-hood-hashing is odd in Vulkan SDK config.json's -- but only the header is actually needed set_property(GLOBAL APPEND PROPERTY robin-hood-hashing_install_command test -d ${VULKAN_SDK}/include/ || mkdir -v ${VULKAN_SDK}/include/ && @@ -73,13 +80,193 @@ if(VULKAN_SDK_COMPONENTS MATCHES "Glslang.*SPIRV-Tools|SPIRV-Tools.*Glslang") find_library(spirv_tools_opt SPIRV-Tools-opt PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${spirv_tools_opt} ${spirv_tools}) ]====]) - set_property(GLOBAL APPEND PROPERTY Glslang_patch_command bash -c "echo 'include(${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake)' | tee External/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY Glslang_patch_command bash "-c" "sed -i \'44 a include(${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake)\' CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DENABLE_OPT:BOOL=ON) else() # otherwise disable External completely set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DBUILD_EXTERNAL:BOOL=OFF) endif() +if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") + file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ + + message(STATUS "======================== SHADER PATCH ========================") + + set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + + include(FindPackageHandleStandardArgs) + include(SelectLibraryConfigurations) + + find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) + find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + + select_library_configurations(SPIRV_TOOLS) + select_library_configurations(SPIRV_TOOLS_OPT) + + find_package_handle_standard_args( + SPIRV-Tools + DEFAULT_MSG + SPIRV_TOOLS_LIBRARY + SPIRV_TOOLS_OPT_LIBRARY + SPIRV_TOOLS_INCLUDE_DIR + ) + + add_library(SPIRV-Tools STATIC IMPORTED) + set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + SPIRV-Tools + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} + ) + + set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) + + add_library(SPIRV-Tools-opt STATIC IMPORTED) + set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + SPIRV-Tools-opt + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} + ) + + set_target_properties(SPIRV-Tools-opt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include) + set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${SPIRV_TOOLS_LIBRARY}) + + find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) + find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) + find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) + find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) + find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) + + select_library_configurations(GLSLANG) + select_library_configurations(OGLCOMPILER) + select_library_configurations(OSDEPENDENT) + select_library_configurations(SPIRV) + select_library_configurations(HLSL) + select_library_configurations(GENERICCODEGEN) + select_library_configurations(MACHINEINDEPENDENT) + + find_package_handle_standard_args(glslang + DEFAULT_MSG + GLSLANG_LIBRARY + OGLCOMPILER_LIBRARY + OSDEPENDENT_LIBRARY + SPIRV_TOOLS_OPT_LIBRARY + SPIRV_LIBRARY + HLSL_LIBRARY + GLSLANG_INCLUDE_DIR + SPIRV_INCLUDE_DIR + ) + + find_package(Threads) + + add_library(OGLCompiler STATIC IMPORTED) + set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + OGLCompiler + PROPERTIES + IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} + ) + + set_property(TARGET OGLCompiler APPEND PROPERTY + INTERFACE_LINK_LIBRARIES Threads::Threads) + + add_library(OSDependent STATIC IMPORTED) + set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + OSDependent + PROPERTIES + IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} + ) + + target_link_libraries(OSDependent INTERFACE Threads::Threads) + + add_library(HLSL STATIC IMPORTED) + set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + HLSL + PROPERTIES + IMPORTED_LOCATION ${HLSL_LIBRARY} + ) + + add_library(GenericCodeGen STATIC IMPORTED) + set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + GenericCodeGen + PROPERTIES + IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} + ) + + add_library(MachineIndependent STATIC IMPORTED) + set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + MachineIndependent + PROPERTIES + IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} + ) + + target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) + + add_library(glslang STATIC IMPORTED) + set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + glslang + PROPERTIES + IMPORTED_LOCATION ${GLSLANG_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" + ) + + target_link_libraries(glslang INTERFACE OGLCompiler OSDependent MachineIndependent HLSL SPIRV-Tools SPIRV-Tools-opt) + + add_library(SPIRV STATIC IMPORTED) + set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_target_properties( + SPIRV + PROPERTIES + IMPORTED_LOCATION ${SPIRV_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" + ) + + target_link_libraries(SPIRV INTERFACE glslang SPIRV-Tools SPIRV-Tools-opt) + + find_package_handle_standard_args(glslangValidator + "Cannot find glslangValidator, Shader won't be compiled offline" + GLSLANG_VALIDATOR_EXE + ) + + add_executable(glslangValidator IMPORTED) + set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) + + file(COPY "CHANGES" DESTINATION ${CMAKE_INSTALL_PREFIX}/include) + + if(WIN32) + set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) + endif() + + ]====]) + + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DSHADERC_ENABLE_SHARED_CRT:BOOL=ON) + +endif() + function(setup_component_dependency key value parentName) setup_component(${key} ${parentName}) set_property(GLOBAL APPEND PROPERTY ${parentName}_cmake_extra -D${value}:FILEPATH=${VULKAN_SDK}) @@ -108,7 +295,6 @@ function(setup_component name parentName) # convert spaces to list (otherwise CMAKE_ARGS seems to force quotes if there are spaces in singular values) string(REPLACE " " ";" cmake_extra "${cmake_extra}") set(cmake_args - -Wno-dev -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${VULKAN_SDK} From 0201b77e9bcfb09317693cda2eb0b31ff22c964c Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Thu, 26 May 2022 23:01:10 +0800 Subject: [PATCH 002/100] added additional func --- cmake/json_utils.cmake | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/cmake/json_utils.cmake b/cmake/json_utils.cmake index d7e5b177..866aac95 100644 --- a/cmake/json_utils.cmake +++ b/cmake/json_utils.cmake @@ -22,7 +22,23 @@ endfunction() function(json_coalesce_subprops _json _OUTVAR) cmake_parse_arguments(_sub "" "" "PROPERTIES" ${ARGN}) foreach(_arg IN LISTS _sub_PROPERTIES) + + set(route "${_sub_UNPARSED_ARGUMENTS}") + separate_arguments(route) + list(LENGTH route len) + math(EXPR last_index "${len} - 1") + list(GET route ${last_index} _comp) + + get_property(_value GLOBAL PROPERTY "${_comp}_${_arg}") + + if(NOT ${_value} MATCHES "-NOTFOUND|^$|^null$|^undefined$") + message(STATUS " >>> Found ${_comp}_${_arg} :: ${_value}") + set(${_OUTVAR} ${_value} PARENT_SCOPE) + return() + endif() + string(JSON _value ERROR_VARIABLE jsonerror GET "${_json}" ${_sub_UNPARSED_ARGUMENTS} "${_arg}") + if (NOT ${_value} MATCHES "-NOTFOUND|^$|^null$|^undefined$") set(${_OUTVAR} ${_value} PARENT_SCOPE) return() From 2abff74e995b6c9cb2bc27920a252d6a18ea5ef2 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Thu, 26 May 2022 23:01:27 +0800 Subject: [PATCH 003/100] added sed for mac --- action.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index cb979c70..847d5298 100644 --- a/action.yml +++ b/action.yml @@ -45,7 +45,10 @@ runs: run: | # dev prerequisites case `uname -s` in - Darwin) ;; + Darwin) + brew install gnu-sed + echo "/usr/local/opt/gnu-sed/libexec/gnubin" >> $GITHUB_PATH + ;; Linux) sudo apt-get -qq update sudo apt-get -qq install -y libwayland-dev libxrandr-dev From c2612401009bbce8002630e838bf91cc67f8b3c3 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Thu, 26 May 2022 23:02:54 +0800 Subject: [PATCH 004/100] added shaderc to available components --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ccba9a85..fee27d5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,7 @@ include(cmake/json_utils.cmake) project(VulkanSDKComponents) -set(AVAILABLE_COMPONENTS "Vulkan-Headers Vulkan-Loader SPIRV-Headers SPIRV-Cross SPIRV-Tools SPIRV-Reflect Glslang") +set(AVAILABLE_COMPONENTS "Vulkan-Headers Vulkan-Loader SPIRV-Headers SPIRV-Cross SPIRV-Tools SPIRV-Reflect Glslang shaderc") # TODO: Vulkan-ExtensionLayer Khronos-Tools LunarG-Tools DXC gfxreconstruct MoltenVK Vulkan-Docs Vulkan-ValidationLayers robin-hood-hashing shaderc macro(_assert varname) From be40a7ea0947e94ce8377dbf2a5196b3aae22837 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 8 Jul 2022 18:06:15 +0800 Subject: [PATCH 005/100] updated shell for testing --- action_helpers.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/action_helpers.sh b/action_helpers.sh index 631cbd08..487d5b6b 100644 --- a/action_helpers.sh +++ b/action_helpers.sh @@ -4,9 +4,11 @@ set -e function lunarg_get_latest_sdk_version() { local platform=$1 + echo "platform: $platform" local url=https://vulkan.lunarg.com/sdk/latest/$platform.txt echo "note: resolving latest via webservices lookup: $url" >&2 curl -sL https://vulkan.lunarg.com/sdk/latest/$platform.txt + echo "sdk version not null" } remote_url_used= @@ -47,11 +49,14 @@ function resolve_vulkan_sdk_environment() { config_file=$build_dir/config.json lunarg_fetch_sdk_config $platform $query_version > $config_file fi + echo "config file here" + test -s $config_file || { echo "!config_file" ; exit 3 ; } sdk_version=$(jq .version $config_file) test -n $sdk_version test $sdk_version != null + echo "sdk version not null" ( echo VULKAN_SDK_BUILD_DIR=$build_dir From fe2b78032ff9c391c30ffbd224aec17346af7d94 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 8 Jul 2022 18:12:09 +0800 Subject: [PATCH 006/100] update file --- action_helpers.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/action_helpers.sh b/action_helpers.sh index 487d5b6b..2981d19d 100644 --- a/action_helpers.sh +++ b/action_helpers.sh @@ -51,9 +51,10 @@ function resolve_vulkan_sdk_environment() { fi echo "config file here" - test -s $config_file || { echo "!config_file" ; exit 3 ; } + echo "test" sdk_version=$(jq .version $config_file) + echo "$sdk_version" test -n $sdk_version test $sdk_version != null echo "sdk version not null" From d396e12665ea73e554b377ace5bc41fce24c0537 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 8 Jul 2022 19:01:47 +0800 Subject: [PATCH 007/100] get config file --- action_helpers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action_helpers.sh b/action_helpers.sh index 2981d19d..c16f7363 100644 --- a/action_helpers.sh +++ b/action_helpers.sh @@ -52,7 +52,7 @@ function resolve_vulkan_sdk_environment() { echo "config file here" test -s $config_file || { echo "!config_file" ; exit 3 ; } - echo "test" + echo "test $config_file" sdk_version=$(jq .version $config_file) echo "$sdk_version" test -n $sdk_version From 837ea54b9c193caa5e3376f673841a99f49c4617 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 8 Jul 2022 19:12:11 +0800 Subject: [PATCH 008/100] fixed debugging --- action_helpers.sh | 6 ------ 1 file changed, 6 deletions(-) diff --git a/action_helpers.sh b/action_helpers.sh index c16f7363..631cbd08 100644 --- a/action_helpers.sh +++ b/action_helpers.sh @@ -4,11 +4,9 @@ set -e function lunarg_get_latest_sdk_version() { local platform=$1 - echo "platform: $platform" local url=https://vulkan.lunarg.com/sdk/latest/$platform.txt echo "note: resolving latest via webservices lookup: $url" >&2 curl -sL https://vulkan.lunarg.com/sdk/latest/$platform.txt - echo "sdk version not null" } remote_url_used= @@ -49,15 +47,11 @@ function resolve_vulkan_sdk_environment() { config_file=$build_dir/config.json lunarg_fetch_sdk_config $platform $query_version > $config_file fi - echo "config file here" test -s $config_file || { echo "!config_file" ; exit 3 ; } - echo "test $config_file" sdk_version=$(jq .version $config_file) - echo "$sdk_version" test -n $sdk_version test $sdk_version != null - echo "sdk version not null" ( echo VULKAN_SDK_BUILD_DIR=$build_dir From db2a2bdac591342dfe19617a58ffae889c19f188 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 20:33:12 +0800 Subject: [PATCH 009/100] added build command --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index fee27d5a..879da422 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -302,6 +302,7 @@ function(setup_component name parentName) # -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} # -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON ) + list(APPEND cmake_args ${cmake_extra}) message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]") ExternalProject_Add("${name}" @@ -313,6 +314,8 @@ function(setup_component name parentName) DEPENDS ${deps} PATCH_COMMAND ${patch_command} INSTALL_COMMAND ${install_command} + BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Debug + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Release ) set_property(GLOBAL APPEND PROPERTY VULKAN_COMPONENTS_PROCESSED ${name}) endfunction() From a5a0a67983620d38b3458b53bdf6854d5017e0e4 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 20:44:20 +0800 Subject: [PATCH 010/100] try updating again --- CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 879da422..668c59c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -314,8 +314,12 @@ function(setup_component name parentName) DEPENDS ${deps} PATCH_COMMAND ${patch_command} INSTALL_COMMAND ${install_command} - BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Debug - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Release + BUILD_COMMAND ${CMAKE_COMMAND} -E echo "Starting Release build" + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Release + COMMAND ${CMAKE_COMMAND} -E echo "Release build complete" + COMMAND ${CMAKE_COMMAND} -E echo "Starting Debug build" + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Debug + COMMAND ${CMAKE_COMMAND} -E echo "Debug build complete" ) set_property(GLOBAL APPEND PROPERTY VULKAN_COMPONENTS_PROCESSED ${name}) endfunction() From 7d2a923e0ac558a2994b31c4f784e531eb866058 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 20:53:26 +0800 Subject: [PATCH 011/100] try x2 --- CMakeLists.txt | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 668c59c7..d305e053 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -314,13 +314,30 @@ function(setup_component name parentName) DEPENDS ${deps} PATCH_COMMAND ${patch_command} INSTALL_COMMAND ${install_command} - BUILD_COMMAND ${CMAKE_COMMAND} -E echo "Starting Release build" - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Release - COMMAND ${CMAKE_COMMAND} -E echo "Release build complete" - COMMAND ${CMAKE_COMMAND} -E echo "Starting Debug build" - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --config Debug - COMMAND ${CMAKE_COMMAND} -E echo "Debug build complete" ) + + set(cmake_args + -DCMAKE_INSTALL_MESSAGE=NEVER + -DCMAKE_BUILD_TYPE=Debug + -DCMAKE_INSTALL_PREFIX=${VULKAN_SDK} + # -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + # -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + # -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON + ) + + list(APPEND cmake_args ${cmake_extra}) + message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]") + ExternalProject_Add("${name}" + GIT_REPOSITORY "${url}" + GIT_TAG "${ref}" + GIT_PROGRESS OFF + CMAKE_CACHE_ARGS ${cmake_extra} + CMAKE_ARGS ${cmake_args} + DEPENDS ${deps} + PATCH_COMMAND ${patch_command} + INSTALL_COMMAND ${install_command} + ) + set_property(GLOBAL APPEND PROPERTY VULKAN_COMPONENTS_PROCESSED ${name}) endfunction() From 56757a64ec32697780ec51746bbad33095fa73e8 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 20:57:17 +0800 Subject: [PATCH 012/100] change name of second --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d305e053..1c5b6658 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -327,7 +327,7 @@ function(setup_component name parentName) list(APPEND cmake_args ${cmake_extra}) message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]") - ExternalProject_Add("${name}" + ExternalProject_Add("${name}d" GIT_REPOSITORY "${url}" GIT_TAG "${ref}" GIT_PROGRESS OFF From b3f26dfdbc1fdf70ab77776e3075cbc4cd57091f Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 21:19:25 +0800 Subject: [PATCH 013/100] returned cmake to original --- CMakeLists.txt | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c5b6658..c11147e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -316,28 +316,6 @@ function(setup_component name parentName) INSTALL_COMMAND ${install_command} ) - set(cmake_args - -DCMAKE_INSTALL_MESSAGE=NEVER - -DCMAKE_BUILD_TYPE=Debug - -DCMAKE_INSTALL_PREFIX=${VULKAN_SDK} - # -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - # -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - # -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON - ) - - list(APPEND cmake_args ${cmake_extra}) - message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]") - ExternalProject_Add("${name}d" - GIT_REPOSITORY "${url}" - GIT_TAG "${ref}" - GIT_PROGRESS OFF - CMAKE_CACHE_ARGS ${cmake_extra} - CMAKE_ARGS ${cmake_args} - DEPENDS ${deps} - PATCH_COMMAND ${patch_command} - INSTALL_COMMAND ${install_command} - ) - set_property(GLOBAL APPEND PROPERTY VULKAN_COMPONENTS_PROCESSED ${name}) endfunction() From 38179bfc0b897b1131b6533625a2168e1a29fd36 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 21:19:33 +0800 Subject: [PATCH 014/100] updated action with additional input --- action.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 847d5298..fd4fba6f 100644 --- a/action.yml +++ b/action.yml @@ -20,6 +20,10 @@ inputs: description: 'specify whether to cache VULKAN_SDK/ results between runs (using github actions/cache)' default: false required: false + build-type: + description: 'CMake build type to be used in the build process' + default: 'Release' + required: false runs: using: "composite" steps: @@ -103,7 +107,7 @@ runs: CXX=cl.exe fi cmake -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} \ -DVULKAN_SDK=${VULKAN_SDK} \ -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ @@ -116,7 +120,7 @@ runs: # cmake build set -a . $PWD/_vulkan_build/env - cmake --build ${VULKAN_SDK_BUILD_DIR} --config Release + cmake --build ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-type }} - name: Install Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From 6bee1faea8aaef78815ef1baf0a52716e9e7f1ba Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 21:22:47 +0800 Subject: [PATCH 015/100] renamed new input --- action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/action.yml b/action.yml index fd4fba6f..1627a465 100644 --- a/action.yml +++ b/action.yml @@ -20,7 +20,7 @@ inputs: description: 'specify whether to cache VULKAN_SDK/ results between runs (using github actions/cache)' default: false required: false - build-type: + build-config: description: 'CMake build type to be used in the build process' default: 'Release' required: false @@ -107,7 +107,7 @@ runs: CXX=cl.exe fi cmake -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \ - -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} \ + -DCMAKE_BUILD_TYPE=${{ inputs.build-config }} \ -DVULKAN_SDK=${VULKAN_SDK} \ -DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \ -DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \ @@ -120,7 +120,7 @@ runs: # cmake build set -a . $PWD/_vulkan_build/env - cmake --build ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-type }} + cmake --build ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-config }} - name: Install Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From 7189847328545144904aacffd9829a1991ad99aa Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 21:44:43 +0800 Subject: [PATCH 016/100] use config in external add --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c11147e2..e679f683 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -296,7 +296,7 @@ function(setup_component name parentName) string(REPLACE " " ";" cmake_extra "${cmake_extra}") set(cmake_args -DCMAKE_INSTALL_MESSAGE=NEVER - -DCMAKE_BUILD_TYPE=Release + -DCMAKE_BUILD_TYPE=$ -DCMAKE_INSTALL_PREFIX=${VULKAN_SDK} # -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} # -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} From eff317552acf21a3c0015e496f22df57adc68c8a Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 22:03:28 +0800 Subject: [PATCH 017/100] cahching dependent on build config --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 1627a465..e9292e82 100644 --- a/action.yml +++ b/action.yml @@ -79,7 +79,7 @@ runs: uses: actions/cache@v2 with: path: VULKAN_SDK - key: ${{ runner.os }}-vulkan-cached-sdk-${{ hashFiles('_vulkan_build/cache-key.txt') }} + key: ${{ runner.os }}-vulkan-cached-sdk-${{inputs.build-config}}-${{ hashFiles('_vulkan_build/cache-key.txt') }} - name: Configure Vulkan SDK Build Prerequisites if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From 4c07dbcb8a4419930535fe32f7075e98a8371e89 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 22:13:37 +0800 Subject: [PATCH 018/100] postfix --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e679f683..55135bcb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,10 @@ project(VulkanSDKComponents) set(AVAILABLE_COMPONENTS "Vulkan-Headers Vulkan-Loader SPIRV-Headers SPIRV-Cross SPIRV-Tools SPIRV-Reflect Glslang shaderc") # TODO: Vulkan-ExtensionLayer Khronos-Tools LunarG-Tools DXC gfxreconstruct MoltenVK Vulkan-Docs Vulkan-ValidationLayers robin-hood-hashing shaderc +if(NOT CMAKE_DEBUG_POSTFIX) + set(CMAKE_DEBUG_POSTFIX d) +endif() + macro(_assert varname) if (NOT ${varname}) message(FATAL_ERROR "assertion failed (${varname}):\n" ${ARGN}) From 935281d560dc09bbd26a31ff8e1d9ee615264494 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 22:26:40 +0800 Subject: [PATCH 019/100] build all libs with postfix --- CMakeLists.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 55135bcb..cab9f5ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,10 +22,6 @@ project(VulkanSDKComponents) set(AVAILABLE_COMPONENTS "Vulkan-Headers Vulkan-Loader SPIRV-Headers SPIRV-Cross SPIRV-Tools SPIRV-Reflect Glslang shaderc") # TODO: Vulkan-ExtensionLayer Khronos-Tools LunarG-Tools DXC gfxreconstruct MoltenVK Vulkan-Docs Vulkan-ValidationLayers robin-hood-hashing shaderc -if(NOT CMAKE_DEBUG_POSTFIX) - set(CMAKE_DEBUG_POSTFIX d) -endif() - macro(_assert varname) if (NOT ${varname}) message(FATAL_ERROR "assertion failed (${varname}):\n" ${ARGN}) @@ -302,6 +298,7 @@ function(setup_component name parentName) -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_BUILD_TYPE=$ -DCMAKE_INSTALL_PREFIX=${VULKAN_SDK} + -DCMAKE_DEBUG_POSTFIX=d # -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} # -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} # -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON From f118191e1d679f3925d98fcb67c7cc9a8fd422f8 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 22:37:47 +0800 Subject: [PATCH 020/100] try adding d for spirv-tools --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cab9f5ae..1600113c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,8 +76,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "Glslang.*SPIRV-Tools|SPIRV-Tools.*Glslang") install(EXPORT SPIRV-Tools-opt DESTINATION lib/cmake) set(spirv_tools NOTFOUND) set(spirv_tools_opt NOTFOUND) - find_library(spirv_tools SPIRV-Tools PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) - find_library(spirv_tools_opt SPIRV-Tools-opt PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) + find_library(spirv_tools NAMES SPIRV-Tools SPIRV-Toolsd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) + find_library(spirv_tools_opt NAMES SPIRV-Tools-opt SPIRV-Tools-optd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${spirv_tools_opt} ${spirv_tools}) ]====]) set_property(GLOBAL APPEND PROPERTY Glslang_patch_command bash "-c" "sed -i \'44 a include(${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake)\' CMakeLists.txt") @@ -99,10 +99,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) - find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) - find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) select_library_configurations(SPIRV_TOOLS) From 106963f32269fbe9d22bf2b116aa6ab33c3fc4a0 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 9 Jul 2022 22:51:59 +0800 Subject: [PATCH 021/100] dont use it on the loader --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1600113c..947d4868 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -298,13 +298,15 @@ function(setup_component name parentName) -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_BUILD_TYPE=$ -DCMAKE_INSTALL_PREFIX=${VULKAN_SDK} - -DCMAKE_DEBUG_POSTFIX=d # -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} # -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} # -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON ) list(APPEND cmake_args ${cmake_extra}) + if(NOT ("${name}" STREQUAL "Vulkan-Loader")) + list(APPEND cmake_args -DCMAKE_DEBUG_POSTFIX=d) + endif() message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]") ExternalProject_Add("${name}" GIT_REPOSITORY "${url}" From 4c2e9ccb378117522988cc675e6aac8a19dbd4f6 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 10 Jul 2022 15:22:29 +0800 Subject: [PATCH 022/100] parallel build --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index e9292e82..047e004a 100644 --- a/action.yml +++ b/action.yml @@ -120,7 +120,7 @@ runs: # cmake build set -a . $PWD/_vulkan_build/env - cmake --build ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-config }} + cmake --build ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-config }} --parallel 8 - name: Install Vulkan SDK Components if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true' From 27a97ad36d91d9a0713e85dd874b383b3dcb1658 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 10 Jul 2022 15:42:50 +0800 Subject: [PATCH 023/100] glslang patch if shaderc --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 947d4868..031bc436 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,7 +65,7 @@ set_property(GLOBAL APPEND PROPERTY robin-hood-hashing_install_command set_property(GLOBAL APPEND PROPERTY robin-hood-hashing_cmake_extra -DRH_STANDALONE_PROJECT:BOOL=OFF) # if SPIRV-Tools-opt is available as part of installed components enable Glslang to locate it -if(VULKAN_SDK_COMPONENTS MATCHES "Glslang.*SPIRV-Tools|SPIRV-Tools.*Glslang") +if(VULKAN_SDK_COMPONENTS MATCHES "Glslang.*SPIRV-Tools|SPIRV-Tools.*Glslang|shaderc") message("Glslang + SPIRV-Tools -- patching Glslang dependency on SPIRV-Tools-opt") set_property(GLOBAL APPEND PROPERTY Glslang_deps_extra "SPIRV-Tools\;spirv-tools_SOURCE_DIR") file(WRITE ${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake [====[ From 8d240974cbf0234c0c12917dbab5da161d4de516 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Sun, 10 Jul 2022 21:19:59 +0800 Subject: [PATCH 024/100] install config debug --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 047e004a..7d6be0b4 100644 --- a/action.yml +++ b/action.yml @@ -129,7 +129,7 @@ runs: # cmake install set -a . $PWD/_vulkan_build/env - cmake --install ${VULKAN_SDK_BUILD_DIR} + cmake --install ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-config }} - name: Verify Vulkan SDK Installation shell: bash From 15b6b7440d9d3eb37655e37387e19dbce37790cc Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Mon, 11 Jul 2022 23:00:12 +0800 Subject: [PATCH 025/100] try postfix --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 031bc436..377e192c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,6 +260,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() + set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(CMAKE_DEBUG_POSTFIX d) + ]====]) set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt") From 72c8f8bf9201df65e2bde5adcd94eb1e10f83b4f Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Tue, 12 Jul 2022 19:36:26 +0800 Subject: [PATCH 026/100] suffix --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 377e192c..c74c683a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,8 +260,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() + if($) set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") - set(CMAKE_DEBUG_POSTFIX d) + # set(CMAKE_DEBUG_POSTFIX d + endif() ]====]) From 035af96567b95cb30529086fc38f5f0d6a565875 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Tue, 12 Jul 2022 19:52:44 +0800 Subject: [PATCH 027/100] debugging --- CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c74c683a..a8058397 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,11 +260,17 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() - if($) - set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + if("$") + message(STATUS "config debug generator expresion") + set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") # set(CMAKE_DEBUG_POSTFIX d endif() + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + message(STATUS "config debug strqual") + set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + endif() + ]====]) set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt") From 7d575bcf8434acc58bdef865a91e7868c9b11b28 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Wed, 13 Jul 2022 19:18:12 +0800 Subject: [PATCH 028/100] just strequal --- CMakeLists.txt | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a8058397..3c4f58ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,15 +260,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() - if("$") - message(STATUS "config debug generator expresion") - set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") - # set(CMAKE_DEBUG_POSTFIX d - endif() - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - message(STATUS "config debug strqual") - set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + message(STATUS "config debug strqual") + set(CMAKE_DEBUG_POSTFIX d) + # set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") endif() ]====]) From 68ba7d77a68f47bcf59cb5416dea8a3e823a0fd1 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Wed, 13 Jul 2022 19:34:03 +0800 Subject: [PATCH 029/100] cmkae static lib --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c4f58ac..9537e78a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -262,8 +262,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") if(CMAKE_BUILD_TYPE STREQUAL "Debug") message(STATUS "config debug strqual") - set(CMAKE_DEBUG_POSTFIX d) - # set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + # set(CMAKE_DEBUG_POSTFIX d) + set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") endif() ]====]) From 13532f2211a796e9c42c17fc4aafbd3bb6f5b00c Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Wed, 13 Jul 2022 21:22:30 +0800 Subject: [PATCH 030/100] remove postfix because already set static library postfix --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9537e78a..db16b358 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,6 +92,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") + set(CMAKE_DEBUG_POSTFIX "") + set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) From 53fed99843884d2a308d34645d0888bcd1e771ed Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 13:52:24 +0800 Subject: [PATCH 031/100] update cmake to try and get stuff to work --- CMakeLists.txt | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index db16b358..b9ecea52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,18 +92,16 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") - set(CMAKE_DEBUG_POSTFIX "") - - set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) + find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} spirv-tools PATH_SUFFIXES include) find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) @@ -118,7 +116,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") SPIRV_TOOLS_INCLUDE_DIR ) - add_library(SPIRV-Tools STATIC IMPORTED) + add_library(SPIRV-Tools UNKNOWN IMPORTED) set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") set_target_properties( SPIRV-Tools @@ -128,8 +126,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) - add_library(SPIRV-Tools-opt STATIC IMPORTED) - set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + add_library(SPIRV-Tools-opt UNKNOWN IMPORTED) + set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( SPIRV-Tools-opt PROPERTIES @@ -180,18 +178,17 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") find_package(Threads) add_library(OGLCompiler STATIC IMPORTED) - set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( OGLCompiler PROPERTIES IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} ) - set_property(TARGET OGLCompiler APPEND PROPERTY - INTERFACE_LINK_LIBRARIES Threads::Threads) + target_link_libraries(OGLCompiler INTERFACE Threads::Threads) add_library(OSDependent STATIC IMPORTED) - set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( OSDependent PROPERTIES @@ -201,7 +198,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") target_link_libraries(OSDependent INTERFACE Threads::Threads) add_library(HLSL STATIC IMPORTED) - set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( HLSL PROPERTIES @@ -209,7 +206,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ) add_library(GenericCodeGen STATIC IMPORTED) - set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( GenericCodeGen PROPERTIES @@ -217,7 +214,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ) add_library(MachineIndependent STATIC IMPORTED) - set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( MachineIndependent PROPERTIES @@ -227,7 +224,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) add_library(glslang STATIC IMPORTED) - set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( glslang PROPERTIES @@ -235,10 +232,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(glslang INTERFACE OGLCompiler OSDependent MachineIndependent HLSL SPIRV-Tools SPIRV-Tools-opt) + target_link_libraries(glslang INTERFACE OSDependent OGLCompiler MachineIndependent HLSL SPIRV-Tools SPIRV-Tools-opt) add_library(SPIRV STATIC IMPORTED) - set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( SPIRV PROPERTIES @@ -246,7 +243,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(SPIRV INTERFACE glslang SPIRV-Tools SPIRV-Tools-opt) + target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) find_package_handle_standard_args(glslangValidator "Cannot find glslangValidator, Shader won't be compiled offline" @@ -266,6 +263,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "config debug strqual") # set(CMAKE_DEBUG_POSTFIX d) set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}") endif() ]====]) From ee2e927394869c3ab5c11d4590e64cfd9a628d98 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 14:04:49 +0800 Subject: [PATCH 032/100] back to include --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9ecea52..123cb71c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,9 +92,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") - # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) From 305dcea4bc761ff3dfc177ad572122638b85d829 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 14:27:31 +0800 Subject: [PATCH 033/100] spirv link fixing --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 123cb71c..5da1349f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,7 +101,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} spirv-tools PATH_SUFFIXES include) + find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) @@ -243,7 +243,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) + target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools SPIRV-Tools-opt glslang) find_package_handle_standard_args(glslangValidator "Cannot find glslangValidator, Shader won't be compiled offline" @@ -255,7 +255,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(COPY "CHANGES" DESTINATION ${CMAKE_INSTALL_PREFIX}/include) - if(WIN32) + if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() From 151cd7a4ba3f0947049dce2b64a1e1f3d832c730 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 14:49:37 +0800 Subject: [PATCH 034/100] fix spirv linking error --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5da1349f..625eb477 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -243,7 +243,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools SPIRV-Tools-opt glslang) + target_link_libraries(SPIRV INTERFACE glslang MachineIndependent SPIRV-Tools SPIRV-Tools-opt) find_package_handle_standard_args(glslangValidator "Cannot find glslangValidator, Shader won't be compiled offline" From 7a50e26d7d5c1ecbb64297a3c0b2e86d00cc39b9 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 15:46:51 +0800 Subject: [PATCH 035/100] updated --- CMakeLists.txt | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 625eb477..498112e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,25 +99,31 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) + set(CMAKE_DEBUG_POSTFIX "") + find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(SPIRV_TOOLS_STATIC_LIBRARY_DEBUG SPIRV-Tools-staticd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(SPIRV_TOOLS_STATIC_LIBRARY_RELEASE SPIRV-Tools-static HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) select_library_configurations(SPIRV_TOOLS) select_library_configurations(SPIRV_TOOLS_OPT) + select_library_configurations(SPIRV_TOOLS_STATIC) find_package_handle_standard_args( SPIRV-Tools DEFAULT_MSG SPIRV_TOOLS_LIBRARY + SPIRV_TOOLS_STATIC_LIBRARY SPIRV_TOOLS_OPT_LIBRARY SPIRV_TOOLS_INCLUDE_DIR ) add_library(SPIRV-Tools UNKNOWN IMPORTED) - set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:DEBUG>$<$:RELEASE>") + set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Debug>") set_target_properties( SPIRV-Tools PROPERTIES @@ -134,17 +140,27 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} ) - set_target_properties(SPIRV-Tools-opt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include) + set_target_properties(SPIRV-Tools-opt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR}) set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${SPIRV_TOOLS_LIBRARY}) - find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + add_library(SPIRV-Tools-static UNKNOWN IMPORTED) + set_property(TARGET SPIRV-Tools-static APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Debug>") + set_target_properties( + SPIRV-Tools-static + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_STATIC_LIBRARY} + ) + + set_target_properties(SPIRV-Tools-static PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) + + find_library(LIB_GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(LIB_GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) @@ -232,7 +248,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(glslang INTERFACE OSDependent OGLCompiler MachineIndependent HLSL SPIRV-Tools SPIRV-Tools-opt) + target_link_libraries(glslang INTERFACE OGLCompiler OSDependent MachineIndependent HLSL SPIRV-Tools SPIRV-Tools-opt SPIRV-Tools-static) add_library(SPIRV STATIC IMPORTED) set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") @@ -243,7 +259,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(SPIRV INTERFACE glslang MachineIndependent SPIRV-Tools SPIRV-Tools-opt) + target_link_libraries(SPIRV INTERFACE glslang MachineIndependent SPIRV-Tools SPIRV-Tools-opt SPIRV-Tools-static) find_package_handle_standard_args(glslangValidator "Cannot find glslangValidator, Shader won't be compiled offline" @@ -266,6 +282,14 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}") endif() + # SPIRV-Tools-static + # MachineIndependent + # SPIRV + # SPIRV-Tools-opt + # GenericCodeGen + # OSDependent + # OGLCompiler + ]====]) set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt") @@ -368,4 +392,4 @@ VULKAN_SDK_CONFIG=${VULKAN_SDK_CONFIG} VULKAN_SDK_COMPONENTS=\"${VULKAN_SDK_COMPONENTS}\" ") -install(FILES ${CMAKE_BINARY_DIR}/sdk.env DESTINATION .) +install(FILES ${CMAKE_BINARY_DIR}/sdk.env DESTINATION .) \ No newline at end of file From f2abb1d6f504bb73046838025d0a2b7c6fab7e35 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 15:49:50 +0800 Subject: [PATCH 036/100] force cmake debug --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 498112e8..8c486935 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,7 +99,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) - set(CMAKE_DEBUG_POSTFIX "") + set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "" FORCE) find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) From be498bbbe86281642edfb479bc6d3f9032ab0163 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 19:21:26 +0800 Subject: [PATCH 037/100] extra stuffs to try get compile working --- CMakeLists.txt | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c486935..12290eeb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,21 +103,17 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(SPIRV_TOOLS_STATIC_LIBRARY_DEBUG SPIRV-Tools-staticd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(SPIRV_TOOLS_STATIC_LIBRARY_RELEASE SPIRV-Tools-static HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) select_library_configurations(SPIRV_TOOLS) select_library_configurations(SPIRV_TOOLS_OPT) - select_library_configurations(SPIRV_TOOLS_STATIC) find_package_handle_standard_args( SPIRV-Tools DEFAULT_MSG SPIRV_TOOLS_LIBRARY - SPIRV_TOOLS_STATIC_LIBRARY SPIRV_TOOLS_OPT_LIBRARY SPIRV_TOOLS_INCLUDE_DIR ) @@ -140,33 +136,24 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} ) - set_target_properties(SPIRV-Tools-opt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR}) - set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${SPIRV_TOOLS_LIBRARY}) + set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES SPIRV-Tools) - add_library(SPIRV-Tools-static UNKNOWN IMPORTED) - set_property(TARGET SPIRV-Tools-static APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Debug>") - set_target_properties( - SPIRV-Tools-static - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_STATIC_LIBRARY} - ) - - set_target_properties(SPIRV-Tools-static PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) - - find_library(LIB_GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(LIB_GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) + find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) @@ -178,8 +165,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") select_library_configurations(HLSL) select_library_configurations(GENERICCODEGEN) select_library_configurations(MACHINEINDEPENDENT) + select_library_configurations(SPVREMAPPER) - find_package_handle_standard_args(glslang + find_package_handle_standard_args( + glslang DEFAULT_MSG GLSLANG_LIBRARY OGLCOMPILER_LIBRARY @@ -187,6 +176,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") SPIRV_TOOLS_OPT_LIBRARY SPIRV_LIBRARY HLSL_LIBRARY + SPVREMAPPER_LIBRARY GLSLANG_INCLUDE_DIR SPIRV_INCLUDE_DIR ) @@ -218,7 +208,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set_target_properties( HLSL PROPERTIES - IMPORTED_LOCATION ${HLSL_LIBRARY} + IMPORTED_LOCATION ${HLSL_LIBRARY} ) add_library(GenericCodeGen STATIC IMPORTED) @@ -248,7 +238,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(glslang INTERFACE OGLCompiler OSDependent MachineIndependent HLSL SPIRV-Tools SPIRV-Tools-opt SPIRV-Tools-static) + target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) add_library(SPIRV STATIC IMPORTED) set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") @@ -259,7 +249,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) - target_link_libraries(SPIRV INTERFACE glslang MachineIndependent SPIRV-Tools SPIRV-Tools-opt SPIRV-Tools-static) + target_link_libraries(SPIRV INTERFACE SPIRV-Tools SPIRV-Tools-opt SPVRemapper glslang) find_package_handle_standard_args(glslangValidator "Cannot find glslangValidator, Shader won't be compiled offline" From cc970c597267708247d2160e56e750b6c04d7d5b Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 19:35:21 +0800 Subject: [PATCH 038/100] spv remapper --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 12290eeb..7d3f217b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -229,6 +229,14 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) + add_library(SPVRemapper STATIC IMPORTED) + set_property(TARGET SPVRemapper APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + set_target_properties( + SPVRemapper + PROPERTIES + IMPORTED_LOCATION ${SPVREMAPPER_LIBRARY} + ) + add_library(glslang STATIC IMPORTED) set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( From 05cb27d1ca01b253d57df32d22cc6d0af3f5b175 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 19:58:41 +0800 Subject: [PATCH 039/100] i have no idea anymore --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d3f217b..d4dd02c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -254,10 +254,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") SPIRV PROPERTIES IMPORTED_LOCATION ${SPIRV_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" ) - - target_link_libraries(SPIRV INTERFACE SPIRV-Tools SPIRV-Tools-opt SPVRemapper glslang) + + target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) find_package_handle_standard_args(glslangValidator "Cannot find glslangValidator, Shader won't be compiled offline" From 88b5e0aeb7e6b34ac2b88518b37b62a47a5479ab Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 20:18:19 +0800 Subject: [PATCH 040/100] ls_path --- CMakeLists.txt | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d4dd02c5..9f0f181d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,12 +90,24 @@ endif() if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ + function(ls_path path) + if(WIN32) + execute_process(COMMAND powershell "-c" "ls ${path}") + else() + execute_process(COMMAND bash "-c" "ls ${path}") + endif() + + endfunction(ls_path path) + message(STATUS "======================== SHADER PATCH ========================") set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + message(STATUS "spirv-tools_SOURCE_DIR") + ls_path(spirv-tools_SOURCE_DIR) + include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) @@ -106,6 +118,15 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + + message(STATUS "SPIRV_TOOLS_INCLUDE_DIR") + ls_path(SPIRV_TOOLS_INCLUDE_DIR) + + message(STATUS "CMAKE_INSTALL_PREFIX/include/") + ls_path(${CMAKE_INSTALL_PREFIX}/include/) + + message(STATUS "CMAKE_INSTALL_PREFIX/include/spirv-tools") + ls_path(${CMAKE_INSTALL_PREFIX}/include/spirv-tools) select_library_configurations(SPIRV_TOOLS) select_library_configurations(SPIRV_TOOLS_OPT) @@ -157,6 +178,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) + + + message(STATUS "SPIRV_INCLUDE_DIR") + ls_path(${SPIRV_INCLUDE_DIR}) select_library_configurations(GLSLANG) select_library_configurations(OGLCOMPILER) @@ -246,6 +271,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" ) + target_link_directories(glslang + INTERFACE ${CMAKE_INSTALL_PREFIX}/include + INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang) target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) add_library(SPIRV STATIC IMPORTED) @@ -256,7 +284,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") IMPORTED_LOCATION ${SPIRV_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" ) - + + target_link_directories(SPIRV + INTERFACE ${CMAKE_INSTALL_PREFIX}/include + INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + INTERFACE ${SPIRV_INCLUDE_DIR}) + target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) find_package_handle_standard_args(glslangValidator From 177de79308289ee90f72b04c07ff909d7d38a31a Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 20:29:07 +0800 Subject: [PATCH 041/100] forgot interpolation --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f0f181d..9eace139 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,7 +106,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) message(STATUS "spirv-tools_SOURCE_DIR") - ls_path(spirv-tools_SOURCE_DIR) + ls_path(${spirv-tools_SOURCE_DIR}) include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) @@ -120,7 +120,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) message(STATUS "SPIRV_TOOLS_INCLUDE_DIR") - ls_path(SPIRV_TOOLS_INCLUDE_DIR) + ls_path(${SPIRV_TOOLS_INCLUDE_DIR}) message(STATUS "CMAKE_INSTALL_PREFIX/include/") ls_path(${CMAKE_INSTALL_PREFIX}/include/) From 6715da7df9ad00ab07f61c6d84ca4799c03bac83 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 20:52:05 +0800 Subject: [PATCH 042/100] debugging --- CMakeLists.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9eace139..bd512848 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,6 +145,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") SPIRV-Tools PROPERTIES IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) @@ -155,6 +156,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") SPIRV-Tools-opt PROPERTIES IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES SPIRV-Tools) @@ -234,6 +236,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") HLSL PROPERTIES IMPORTED_LOCATION ${HLSL_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang ) add_library(GenericCodeGen STATIC IMPORTED) @@ -242,6 +245,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") GenericCodeGen PROPERTIES IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang ) add_library(MachineIndependent STATIC IMPORTED) @@ -250,6 +254,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") MachineIndependent PROPERTIES IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang ) target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) @@ -268,12 +273,13 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") glslang PROPERTIES IMPORTED_LOCATION ${GLSLANG_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" ) target_link_directories(glslang INTERFACE ${CMAKE_INSTALL_PREFIX}/include - INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang) + INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + INTERFACE ${GLSLANG_INCLUDE_DIR}) target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) add_library(SPIRV STATIC IMPORTED) @@ -306,6 +312,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() + message(STATUS "glslang/Include") + ls_path(${CMAKE_INSTALL_PREFIX}/include/glslang/Include) + if(CMAKE_BUILD_TYPE STREQUAL "Debug") message(STATUS "config debug strqual") # set(CMAKE_DEBUG_POSTFIX d) From 36a1c7a63bc9f3c39f465ba170652f3b175876e1 Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Fri, 15 Jul 2022 21:07:39 +0800 Subject: [PATCH 043/100] just include them because AA --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index bd512848..3ec74c8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -330,6 +330,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # OSDependent # OGLCompiler + include_directories(${CMAKE_INSTALL_PREFIX}/include) + include_directories(${CMAKE_INSTALL_PREFIX}/include/glslang) + include_directories(${CMAKE_INSTALL_PREFIX}/include/spirv) + include_directories(${CMAKE_INSTALL_PREFIX}/include/spirv-tools) + + ]====]) set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt") From 4c8eb72173ba0e74d2cf9d2fa787303712732c7e Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Sat, 16 Jul 2022 21:37:31 +0800 Subject: [PATCH 044/100] listing intall prefix --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ec74c8f..bcbbabe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,7 +180,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) - + + message(STATUS "CMAKE_INSTALL_PREFIX") + ls_path(${CMAKE_INSTALL_PREFIX}) message(STATUS "SPIRV_INCLUDE_DIR") ls_path(${SPIRV_INCLUDE_DIR}) From 2a488f54b1bafb2fe268098885abeb8485d7b63c Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 11:31:32 +0800 Subject: [PATCH 045/100] shaderc util patch as well? --- CMakeLists.txt | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bcbbabe7..01959a8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,14 +96,16 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") else() execute_process(COMMAND bash "-c" "ls ${path}") endif() - endfunction(ls_path path) message(STATUS "======================== SHADER PATCH ========================") + find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") message(STATUS "spirv-tools_SOURCE_DIR") ls_path(${spirv-tools_SOURCE_DIR}) @@ -332,16 +334,19 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # OSDependent # OGLCompiler - include_directories(${CMAKE_INSTALL_PREFIX}/include) - include_directories(${CMAKE_INSTALL_PREFIX}/include/glslang) - include_directories(${CMAKE_INSTALL_PREFIX}/include/spirv) - include_directories(${CMAKE_INSTALL_PREFIX}/include/spirv-tools) - + ]====]) + file(WRITE ${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake [====[ + if(SHADERC_ENABLE_INSTALL AND NOT BUILD_SHARED_LIBS) + install(TARGETS shaderc_util + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(SHADERC_ENABLE_INSTALL) ]====]) - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt") - set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DSHADERC_ENABLE_SHARED_CRT:BOOL=ON) + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'51a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) endif() From cbc8387518d32c48a69aa4a3e99f716ebadd12aa Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 11:40:25 +0800 Subject: [PATCH 046/100] glslang source dir --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01959a8c..9f937fe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,7 +101,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) From 277d099f9b7bce44dfb29e6a93ae0346a5271af9 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 11:54:13 +0800 Subject: [PATCH 047/100] if block fix --- CMakeLists.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f937fe7..cd04629e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,12 +100,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") - find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") message(STATUS "spirv-tools_SOURCE_DIR") ls_path(${spirv-tools_SOURCE_DIR}) @@ -342,10 +342,11 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif(SHADERC_ENABLE_INSTALL) + endif() + ]====]) - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'51a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) endif() From 2afc59db1a3d5cd87f6ea2cf834c1e330e1d893a Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 13:34:00 +0800 Subject: [PATCH 048/100] update some more steps --- CMakeLists.txt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cd04629e..db8afed6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,12 +100,16 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") - # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + + # -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools + set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) + set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) message(STATUS "spirv-tools_SOURCE_DIR") ls_path(${spirv-tools_SOURCE_DIR}) @@ -343,11 +347,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() - + ]====]) - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt") - set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'142,146d\' CMakeLists.txt&& sed -i \'56d\' glslc/CMakeLists.txt") + + # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra) endif() From f3b46030b508c9752c31ae0021aa9414a4a079c1 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 13:45:03 +0800 Subject: [PATCH 049/100] && --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index db8afed6..65f42ce3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,8 +108,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") # -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools - set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) - set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) + # set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) + # set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) message(STATUS "spirv-tools_SOURCE_DIR") ls_path(${spirv-tools_SOURCE_DIR}) @@ -350,7 +350,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'142,146d\' CMakeLists.txt&& sed -i \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'142,146d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra) From 4414bcd6e0507177096e5213d51e39a4d0a429b0 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 13:54:33 +0800 Subject: [PATCH 050/100] double check --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 65f42ce3..b82b1952 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -350,7 +350,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'142,146d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'143,147d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra) From 30e89e7a5260dc8cbf9829cf009feac84f9c2efb Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 14:09:33 +0800 Subject: [PATCH 051/100] why no work --- CMakeLists.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b82b1952..6c513dbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,14 +100,13 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") - find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - # -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools # set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) # set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) @@ -350,9 +349,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'143,147d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt") - # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra) + set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) endif() From e31d3ffd9569cff40e135fa67679b1165161449f Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 14:30:45 +0800 Subject: [PATCH 052/100] try removing lines --- CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c513dbe..d1bb6461 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,8 +107,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - # set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) - # set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) + set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) + set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) message(STATUS "spirv-tools_SOURCE_DIR") ls_path(${spirv-tools_SOURCE_DIR}) @@ -349,7 +349,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt") + # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'142,146d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) From 4658b887ff493df50d1797e463df5d96953e0bc0 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 14:31:02 +0800 Subject: [PATCH 053/100] no inplace for now --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d1bb6461..4d0367fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -350,7 +350,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'142,146d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'142,146d\' CMakeLists.txt && sed \'56d\' glslc/CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) From 4a0cfebf6673012136e8afe6399fa9ad208aa262 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 14:45:47 +0800 Subject: [PATCH 054/100] proper lines --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d0367fe..65939bf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -350,7 +350,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'142,146d\' CMakeLists.txt && sed \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'137,141d\' CMakeLists.txt && sed \'56d\' glslc/CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) From 7d0e543f2c25b3ae113fd628aae08c05a7b16396 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 14:52:23 +0800 Subject: [PATCH 055/100] better glslang_SOURC_DIR --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 65939bf0..c4b769dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,12 +100,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADER PATCH ========================") - # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) @@ -350,7 +350,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'137,141d\' CMakeLists.txt && sed \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) From c5d33b773bb7ae3f7eddc937710c88ab8c3f6c55 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 15:05:18 +0800 Subject: [PATCH 056/100] remove the fancy --- CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c4b769dc..7ad7b5bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,10 +98,11 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) - message(STATUS "======================== SHADER PATCH ========================") + message(STATUS "======================== SHADERC PATCH ========================") find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + ls_path(${glslang_SOURCE_DIR}) + # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) From 181d50aabd159ef0989a9878f43092dd68d3f065 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 15:13:49 +0800 Subject: [PATCH 057/100] i guess? --- CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7ad7b5bf..38be74f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,8 +100,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") - find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - ls_path(${glslang_SOURCE_DIR}) + + find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) + # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + + # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + # ls_path(${glslang_SOURCE_DIR}) # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) From c434fa53e0b957bc8126ac753e4daeaca41dee1c Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 15:26:04 +0800 Subject: [PATCH 058/100] just sed --- CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 38be74f3..247e0c79 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,7 +101,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") - find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) + # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") @@ -110,10 +110,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) - set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) + # set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) + # set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) message(STATUS "spirv-tools_SOURCE_DIR") ls_path(${spirv-tools_SOURCE_DIR}) @@ -355,9 +355,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed \'56d\' glslc/CMakeLists.txt") - set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) + # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) endif() From 748133e3e8f08c3db9b244e28e6b9c2a69649c9a Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 16:04:45 +0800 Subject: [PATCH 059/100] dont get rid of build + some edits --- CMakeLists.txt | 4 +++- action.yml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 247e0c79..4a8f17ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,6 +100,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") + # file(COPY "${CMAKE_CURRENT_LIST_DIR}/build-version.inc" DESTINATION "${SOURCE_PATH}/glslc/src") + file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/glslc/src/build-version.inc" [["shaderc v2021.1-dev unknown hash, 2021-06-21\n"]]) # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) @@ -355,7 +357,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed \'56d\' glslc/CMakeLists.txt") + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) diff --git a/action.yml b/action.yml index 7d6be0b4..654598f1 100644 --- a/action.yml +++ b/action.yml @@ -156,5 +156,5 @@ runs: echo VULKAN_SDK_VERSION=${VULKAN_SDK_VERSION} ) | tee -a $GITHUB_ENV echo ${VULKAN_SDK}/bin | tee -a $GITHUB_PATH - rm -rf $PWD/_vulkan_build + # rm -rf $PWD/_vulkan_build du -hs ${VULKAN_SDK} From 04a53ee0820fc6d2bf155a12791a6edd7c82fca0 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 17 Jul 2022 16:30:37 +0800 Subject: [PATCH 060/100] simpler getting glslang test --- CMakeLists.txt | 295 +++++++++++++++++++++++++------------------------ 1 file changed, 148 insertions(+), 147 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a8f17ed..af61990c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,13 +100,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") - # file(COPY "${CMAKE_CURRENT_LIST_DIR}/build-version.inc" DESTINATION "${SOURCE_PATH}/glslc/src") file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/glslc/src/build-version.inc" [["shaderc v2021.1-dev unknown hash, 2021-06-21\n"]]) - # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) - # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) - - # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + message(STATUS ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") # ls_path(${glslang_SOURCE_DIR}) # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) @@ -151,8 +148,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") SPIRV_TOOLS_INCLUDE_DIR ) - add_library(SPIRV-Tools UNKNOWN IMPORTED) - set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Debug>") + add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) + set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( SPIRV-Tools PROPERTIES @@ -171,154 +168,158 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) - set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES SPIRV-Tools) - - find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) - find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) - find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) - find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) + # set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES SPIRV-Tools) + + # find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) + # find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) + # find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) + # find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) - message(STATUS "CMAKE_INSTALL_PREFIX") - ls_path(${CMAKE_INSTALL_PREFIX}) + # message(STATUS "CMAKE_INSTALL_PREFIX") + # ls_path(${CMAKE_INSTALL_PREFIX}) - message(STATUS "SPIRV_INCLUDE_DIR") - ls_path(${SPIRV_INCLUDE_DIR}) + # message(STATUS "SPIRV_INCLUDE_DIR") + # ls_path(${SPIRV_INCLUDE_DIR}) - select_library_configurations(GLSLANG) - select_library_configurations(OGLCOMPILER) - select_library_configurations(OSDEPENDENT) - select_library_configurations(SPIRV) - select_library_configurations(HLSL) - select_library_configurations(GENERICCODEGEN) - select_library_configurations(MACHINEINDEPENDENT) - select_library_configurations(SPVREMAPPER) - - find_package_handle_standard_args( - glslang - DEFAULT_MSG - GLSLANG_LIBRARY - OGLCOMPILER_LIBRARY - OSDEPENDENT_LIBRARY - SPIRV_TOOLS_OPT_LIBRARY - SPIRV_LIBRARY - HLSL_LIBRARY - SPVREMAPPER_LIBRARY - GLSLANG_INCLUDE_DIR - SPIRV_INCLUDE_DIR - ) - - find_package(Threads) - - add_library(OGLCompiler STATIC IMPORTED) - set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - OGLCompiler - PROPERTIES - IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} - ) - - target_link_libraries(OGLCompiler INTERFACE Threads::Threads) - - add_library(OSDependent STATIC IMPORTED) - set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - OSDependent - PROPERTIES - IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} - ) - - target_link_libraries(OSDependent INTERFACE Threads::Threads) - - add_library(HLSL STATIC IMPORTED) - set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - HLSL - PROPERTIES - IMPORTED_LOCATION ${HLSL_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang - ) - - add_library(GenericCodeGen STATIC IMPORTED) - set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - GenericCodeGen - PROPERTIES - IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang - ) - - add_library(MachineIndependent STATIC IMPORTED) - set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - MachineIndependent - PROPERTIES - IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang - ) + # select_library_configurations(GLSLANG) + # select_library_configurations(OGLCOMPILER) + # select_library_configurations(OSDEPENDENT) + # select_library_configurations(SPIRV) + # select_library_configurations(HLSL) + # select_library_configurations(GENERICCODEGEN) + # select_library_configurations(MACHINEINDEPENDENT) + # select_library_configurations(SPVREMAPPER) + + # find_package_handle_standard_args( + # glslang + # DEFAULT_MSG + # GLSLANG_LIBRARY + # OGLCOMPILER_LIBRARY + # OSDEPENDENT_LIBRARY + # SPIRV_TOOLS_OPT_LIBRARY + # SPIRV_LIBRARY + # HLSL_LIBRARY + # SPVREMAPPER_LIBRARY + # GLSLANG_INCLUDE_DIR + # SPIRV_INCLUDE_DIR + # ) + + # find_package(Threads) + + # add_library(OGLCompiler STATIC IMPORTED) + # set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # OGLCompiler + # PROPERTIES + # IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} + # ) + + # target_link_libraries(OGLCompiler INTERFACE Threads::Threads) + + # add_library(OSDependent STATIC IMPORTED) + # set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # OSDependent + # PROPERTIES + # IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} + # ) + + # target_link_libraries(OSDependent INTERFACE Threads::Threads) + + # add_library(HLSL STATIC IMPORTED) + # set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # HLSL + # PROPERTIES + # IMPORTED_LOCATION ${HLSL_LIBRARY} + # INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang + # ) + + # add_library(GenericCodeGen STATIC IMPORTED) + # set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # GenericCodeGen + # PROPERTIES + # IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} + # INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang + # ) + + # add_library(MachineIndependent STATIC IMPORTED) + # set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # MachineIndependent + # PROPERTIES + # IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} + # INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang + # ) - target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) - - add_library(SPVRemapper STATIC IMPORTED) - set_property(TARGET SPVRemapper APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - SPVRemapper - PROPERTIES - IMPORTED_LOCATION ${SPVREMAPPER_LIBRARY} - ) - - add_library(glslang STATIC IMPORTED) - set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - glslang - PROPERTIES - IMPORTED_LOCATION ${GLSLANG_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" - ) - - target_link_directories(glslang - INTERFACE ${CMAKE_INSTALL_PREFIX}/include - INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - INTERFACE ${GLSLANG_INCLUDE_DIR}) - target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) + # target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) + + # add_library(SPVRemapper STATIC IMPORTED) + # set_property(TARGET SPVRemapper APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # SPVRemapper + # PROPERTIES + # IMPORTED_LOCATION ${SPVREMAPPER_LIBRARY} + # ) + + # add_library(glslang STATIC IMPORTED) + # set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # glslang + # PROPERTIES + # IMPORTED_LOCATION ${GLSLANG_LIBRARY} + # INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" + # ) + + # target_link_directories(glslang + # INTERFACE ${CMAKE_INSTALL_PREFIX}/include + # INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + # INTERFACE ${GLSLANG_INCLUDE_DIR}) + # target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) - add_library(SPIRV STATIC IMPORTED) - set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - SPIRV - PROPERTIES - IMPORTED_LOCATION ${SPIRV_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" - ) - - target_link_directories(SPIRV - INTERFACE ${CMAKE_INSTALL_PREFIX}/include - INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - INTERFACE ${SPIRV_INCLUDE_DIR}) - - target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) + # add_library(SPIRV STATIC IMPORTED) + # set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # SPIRV + # PROPERTIES + # IMPORTED_LOCATION ${SPIRV_LIBRARY} + # INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" + # ) + + # target_link_directories(SPIRV + # INTERFACE ${CMAKE_INSTALL_PREFIX}/include + # INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + # INTERFACE ${SPIRV_INCLUDE_DIR}) + + # target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) + + foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV spirv-remap SPVRemapper) + include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) + endforeach() - find_package_handle_standard_args(glslangValidator - "Cannot find glslangValidator, Shader won't be compiled offline" - GLSLANG_VALIDATOR_EXE - ) + # find_package_handle_standard_args(glslangValidator + # "Cannot find glslangValidator, Shader won't be compiled offline" + # GLSLANG_VALIDATOR_EXE + # ) - add_executable(glslangValidator IMPORTED) - set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) + # add_executable(glslangValidator IMPORTED) + # set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) file(COPY "CHANGES" DESTINATION ${CMAKE_INSTALL_PREFIX}/include) From 274d863a230c03f19ad3634840c813590f13ae2f Mon Sep 17 00:00:00 2001 From: sjcobb2022 Date: Sun, 17 Jul 2022 21:53:46 +0800 Subject: [PATCH 061/100] targets --- CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index af61990c..2fe27bff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -309,10 +309,21 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) + include(CMakeFindDependencyMacro) + + find_dependency(Threads) + foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV spirv-remap SPVRemapper) include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) endforeach() + set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) + set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) + set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) + set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) + set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) + set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) + # find_package_handle_standard_args(glslangValidator # "Cannot find glslangValidator, Shader won't be compiled offline" # GLSLANG_VALIDATOR_EXE From 5a3569ba9b617b0b59ae724784011102602a0582 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 12:51:48 +0100 Subject: [PATCH 062/100] cleanup --- cmake/json_utils.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmake/json_utils.cmake b/cmake/json_utils.cmake index 866aac95..0affb17e 100644 --- a/cmake/json_utils.cmake +++ b/cmake/json_utils.cmake @@ -89,5 +89,4 @@ function(get_component_props _comp) get_property(_value GLOBAL PROPERTY "${_comp}_${_arg}") set(${_arg} "${_value}" PARENT_SCOPE) endforeach() -endfunction() - +endfunction() \ No newline at end of file From d4d78827748c4144b3a8e8288f4a70f4aba38e24 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 15:48:27 +0100 Subject: [PATCH 063/100] begin intergration of vkpkg thing --- CMakeLists.txt | 165 +++++++++++++++---------------- cmake/glslang/CMakeLists.txt | 131 ++++++++++++++++++++++++ cmake/spirv-tools/CMakeLists.txt | 41 ++++++++ 3 files changed, 251 insertions(+), 86 deletions(-) create mode 100644 cmake/glslang/CMakeLists.txt create mode 100644 cmake/spirv-tools/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fe27bff..ddff199d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,72 +101,76 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/glslc/src/build-version.inc" [["shaderc v2021.1-dev unknown hash, 2021-06-21\n"]]) + + ls_path("${CMAKE_CURRENT_SOURCE_DIR}") + ls_path("${CMAKE_CURRENT_BINARY_DIR}") + ls_path("${CMAKE_INSTALL_PREFIX}") - find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - message(STATUS ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") - # ls_path(${glslang_SOURCE_DIR}) - # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") + # message(STATUS ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") + # # ls_path(${glslang_SOURCE_DIR}) + # # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) - set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - # set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) - # set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) + # # set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) + # # set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) - message(STATUS "spirv-tools_SOURCE_DIR") - ls_path(${spirv-tools_SOURCE_DIR}) + # message(STATUS "spirv-tools_SOURCE_DIR") + # ls_path(${spirv-tools_SOURCE_DIR}) - include(FindPackageHandleStandardArgs) - include(SelectLibraryConfigurations) + # include(FindPackageHandleStandardArgs) + # include(SelectLibraryConfigurations) - set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "" FORCE) + # set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "" FORCE) - find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) - find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + # find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) + # find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) + # find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - message(STATUS "SPIRV_TOOLS_INCLUDE_DIR") - ls_path(${SPIRV_TOOLS_INCLUDE_DIR}) + # message(STATUS "SPIRV_TOOLS_INCLUDE_DIR") + # ls_path(${SPIRV_TOOLS_INCLUDE_DIR}) - message(STATUS "CMAKE_INSTALL_PREFIX/include/") - ls_path(${CMAKE_INSTALL_PREFIX}/include/) + # message(STATUS "CMAKE_INSTALL_PREFIX/include/") + # ls_path(${CMAKE_INSTALL_PREFIX}/include/) - message(STATUS "CMAKE_INSTALL_PREFIX/include/spirv-tools") - ls_path(${CMAKE_INSTALL_PREFIX}/include/spirv-tools) + # message(STATUS "CMAKE_INSTALL_PREFIX/include/spirv-tools") + # ls_path(${CMAKE_INSTALL_PREFIX}/include/spirv-tools) - select_library_configurations(SPIRV_TOOLS) - select_library_configurations(SPIRV_TOOLS_OPT) - - find_package_handle_standard_args( - SPIRV-Tools - DEFAULT_MSG - SPIRV_TOOLS_LIBRARY - SPIRV_TOOLS_OPT_LIBRARY - SPIRV_TOOLS_INCLUDE_DIR - ) + # select_library_configurations(SPIRV_TOOLS) + # select_library_configurations(SPIRV_TOOLS_OPT) - add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) - set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - SPIRV-Tools - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} - ) + # find_package_handle_standard_args( + # SPIRV-Tools + # DEFAULT_MSG + # SPIRV_TOOLS_LIBRARY + # SPIRV_TOOLS_OPT_LIBRARY + # SPIRV_TOOLS_INCLUDE_DIR + # ) - set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) + # add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) + # set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # SPIRV-Tools + # PROPERTIES + # IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} + # INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} + # ) - add_library(SPIRV-Tools-opt UNKNOWN IMPORTED) - set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - set_target_properties( - SPIRV-Tools-opt - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} - ) + # set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) + + # add_library(SPIRV-Tools-opt UNKNOWN IMPORTED) + # set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") + # set_target_properties( + # SPIRV-Tools-opt + # PROPERTIES + # IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} + # INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} + # ) # set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES SPIRV-Tools) @@ -177,7 +181,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) # find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) # find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) # find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) # find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) # find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) @@ -185,7 +188,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) # find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) # find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) - # find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) # find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) # find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) @@ -203,7 +205,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # select_library_configurations(HLSL) # select_library_configurations(GENERICCODEGEN) # select_library_configurations(MACHINEINDEPENDENT) - # select_library_configurations(SPVREMAPPER) # find_package_handle_standard_args( # glslang @@ -270,14 +271,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) - # add_library(SPVRemapper STATIC IMPORTED) - # set_property(TARGET SPVRemapper APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # SPVRemapper - # PROPERTIES - # IMPORTED_LOCATION ${SPVREMAPPER_LIBRARY} - # ) - # add_library(glslang STATIC IMPORTED) # set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") # set_target_properties( @@ -309,20 +302,20 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) - include(CMakeFindDependencyMacro) + # include(CMakeFindDependencyMacro) - find_dependency(Threads) + # find_dependency(Threads) - foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV spirv-remap SPVRemapper) - include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) - endforeach() + # foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV) + # include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) + # endforeach() - set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) - set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) - set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) - set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) - set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) - set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) + # set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) + # set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) + # set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) + # set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) + # set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) + # set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) # find_package_handle_standard_args(glslangValidator # "Cannot find glslangValidator, Shader won't be compiled offline" @@ -332,21 +325,21 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # add_executable(glslangValidator IMPORTED) # set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) - file(COPY "CHANGES" DESTINATION ${CMAKE_INSTALL_PREFIX}/include) + # file(COPY "CHANGES" DESTINATION ${CMAKE_INSTALL_PREFIX}/include) - if(MSVC) - set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) - endif() + # if(MSVC) + # set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) + # endif() - message(STATUS "glslang/Include") - ls_path(${CMAKE_INSTALL_PREFIX}/include/glslang/Include) + # message(STATUS "glslang/Include") + # ls_path(${CMAKE_INSTALL_PREFIX}/include/glslang/Include) - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - message(STATUS "config debug strqual") - # set(CMAKE_DEBUG_POSTFIX d) - set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") - set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}") - endif() + # if(CMAKE_BUILD_TYPE STREQUAL "Debug") + # message(STATUS "config debug strqual") + # # set(CMAKE_DEBUG_POSTFIX d) + # set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + # set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}") + # endif() # SPIRV-Tools-static # MachineIndependent diff --git a/cmake/glslang/CMakeLists.txt b/cmake/glslang/CMakeLists.txt new file mode 100644 index 00000000..fe940606 --- /dev/null +++ b/cmake/glslang/CMakeLists.txt @@ -0,0 +1,131 @@ +include(FindPackageHandleStandardArgs) +include(SelectLibraryConfigurations) + +find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) +find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) +find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) +find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) +find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) + +select_library_configurations(GLSLANG) +select_library_configurations(OGLCOMPILER) +select_library_configurations(OSDEPENDENT) +select_library_configurations(SPIRV) +select_library_configurations(HLSL) +select_library_configurations(GENERICCODEGEN) +select_library_configurations(MACHINEINDEPENDENT) +select_library_configurations(SPVREMAPPER) + +find_package_handle_standard_args( + glslang + DEFAULT_MSG + GLSLANG_LIBRARY + OGLCOMPILER_LIBRARY + OSDEPENDENT_LIBRARY + SPIRV_TOOLS_OPT_LIBRARY + SPIRV_LIBRARY + HLSL_LIBRARY + GLSLANG_INCLUDE_DIR + SPIRV_INCLUDE_DIR + ) + +find_package(Threads) + +add_library(OGLCompiler STATIC IMPORTED GLOBAL) +set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + OGLCompiler + PROPERTIES + IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} +) + +target_link_libraries(OGLCompiler INTERFACE Threads::Threads) + +add_library(OSDependent STATIC IMPORTED GLOBAL) +set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + OSDependent + PROPERTIES + IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} +) + +target_link_libraries(OSDependent INTERFACE Threads::Threads) + +add_library(HLSL STATIC IMPORTED GLOBAL) +set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + HLSL + PROPERTIES + IMPORTED_LOCATION ${HLSL_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +) + +add_library(GenericCodeGen STATIC IMPORTED GLOBAL) +set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + GenericCodeGen + PROPERTIES + IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +) + +add_library(MachineIndependent STATIC IMPORTED GLOBAL) +set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + MachineIndependent + PROPERTIES + IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +) + +target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) + +add_library(glslang STATIC IMPORTED GLOBAL) +set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + glslang + PROPERTIES + IMPORTED_LOCATION ${GLSLANG_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" +) + +target_link_directories(glslang + INTERFACE ${CMAKE_INSTALL_PREFIX}/include + INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + INTERFACE ${GLSLANG_INCLUDE_DIR}) + +target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) + +add_library(SPIRV STATIC IMPORTED) +set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + SPIRV + PROPERTIES + IMPORTED_LOCATION ${SPIRV_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" +) + +target_link_directories(SPIRV + INTERFACE ${CMAKE_INSTALL_PREFIX}/include + INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + INTERFACE ${SPIRV_INCLUDE_DIR}) + +target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) + +add_executable(glslangValidator IMPORTED GLOBAL) +set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) + diff --git a/cmake/spirv-tools/CMakeLists.txt b/cmake/spirv-tools/CMakeLists.txt new file mode 100644 index 00000000..0a20291a --- /dev/null +++ b/cmake/spirv-tools/CMakeLists.txt @@ -0,0 +1,41 @@ +include(FindPackageHandleStandardArgs) +include(SelectLibraryConfigurations) + +find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) +find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + +select_library_configurations(SPIRV_TOOLS) +select_library_configurations(SPIRV_TOOLS_OPT) + +select_library_configurations(SPIRV_TOOLS) + +find_package_handle_standard_args( + SPIRV-Tools + DEFAULT_MSG + SPIRV_TOOLS_LIBRARY + SPIRV_TOOLS_OPT_LIBRARY + SPIRV_TOOLS_INCLUDE_DIR +) + +add_library(SPIRV-Tools STATIC IMPORTED GLOBAL ) +set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( +SPIRV-Tools + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} +) + +set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) + +add_library(SPIRV-Tools-opt UNKNOWN IMPORTED GLOBAL) +set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + SPIRV-Tools-opt + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} +) \ No newline at end of file From 068a91eca220398ef09a8670df4ab55de19b8690 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 16:27:11 +0100 Subject: [PATCH 064/100] bunch of lists to confirm --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ddff199d..e5e7b508 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,9 +102,14 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/glslc/src/build-version.inc" [["shaderc v2021.1-dev unknown hash, 2021-06-21\n"]]) + message("current source dir") ls_path("${CMAKE_CURRENT_SOURCE_DIR}") + message("current binary dir") ls_path("${CMAKE_CURRENT_BINARY_DIR}") + message("install prefix") ls_path("${CMAKE_INSTALL_PREFIX}") + message("current list dir") + ls_path("${CMAKE_CURRENT_LIST_DIR}") # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") # message(STATUS ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") From 2eb7748ddb46ef822d1ca7389cb4943282e67fdd Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 17:00:32 +0100 Subject: [PATCH 065/100] update to add into third_party --- CMakeLists.txt | 200 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 192 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e5e7b508..5d2f624f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,14 +102,198 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/glslc/src/build-version.inc" [["shaderc v2021.1-dev unknown hash, 2021-06-21\n"]]) - message("current source dir") - ls_path("${CMAKE_CURRENT_SOURCE_DIR}") - message("current binary dir") - ls_path("${CMAKE_CURRENT_BINARY_DIR}") - message("install prefix") - ls_path("${CMAKE_INSTALL_PREFIX}") - message("current list dir") - ls_path("${CMAKE_CURRENT_LIST_DIR}") + # message("current source dir") + # ls_path("${CMAKE_CURRENT_SOURCE_DIR}") + # message("current binary dir") + # ls_path("${CMAKE_CURRENT_BINARY_DIR}") + # message("install prefix") + # ls_path("${CMAKE_INSTALL_PREFIX}") + # message("current list dir") + # ls_path("${CMAKE_CURRENT_LIST_DIR}") + + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang) + file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang/CMakeLists.txt [===[ + +include(FindPackageHandleStandardArgs) +include(SelectLibraryConfigurations) + +find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) +find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) +find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) +find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) +find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) + +select_library_configurations(GLSLANG) +select_library_configurations(OGLCOMPILER) +select_library_configurations(OSDEPENDENT) +select_library_configurations(SPIRV) +select_library_configurations(HLSL) +select_library_configurations(GENERICCODEGEN) +select_library_configurations(MACHINEINDEPENDENT) +select_library_configurations(SPVREMAPPER) + +find_package_handle_standard_args( + glslang + DEFAULT_MSG + GLSLANG_LIBRARY + OGLCOMPILER_LIBRARY + OSDEPENDENT_LIBRARY + SPIRV_TOOLS_OPT_LIBRARY + SPIRV_LIBRARY + HLSL_LIBRARY + GLSLANG_INCLUDE_DIR + SPIRV_INCLUDE_DIR + ) + +find_package(Threads) + +add_library(OGLCompiler STATIC IMPORTED GLOBAL) +set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + OGLCompiler + PROPERTIES + IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} +) + +target_link_libraries(OGLCompiler INTERFACE Threads::Threads) + +add_library(OSDependent STATIC IMPORTED GLOBAL) +set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + OSDependent + PROPERTIES + IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} +) + +target_link_libraries(OSDependent INTERFACE Threads::Threads) + +add_library(HLSL STATIC IMPORTED GLOBAL) +set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + HLSL + PROPERTIES + IMPORTED_LOCATION ${HLSL_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +) + +add_library(GenericCodeGen STATIC IMPORTED GLOBAL) +set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + GenericCodeGen + PROPERTIES + IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +) + +add_library(MachineIndependent STATIC IMPORTED GLOBAL) +set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + MachineIndependent + PROPERTIES + IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} + INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +) + +target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) + +add_library(glslang STATIC IMPORTED GLOBAL) +set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + glslang + PROPERTIES + IMPORTED_LOCATION ${GLSLANG_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" +) + +target_link_directories(glslang + INTERFACE ${CMAKE_INSTALL_PREFIX}/include + INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + INTERFACE ${GLSLANG_INCLUDE_DIR}) + +target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) + +add_library(SPIRV STATIC IMPORTED) +set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + SPIRV + PROPERTIES + IMPORTED_LOCATION ${SPIRV_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" +) + +target_link_directories(SPIRV + INTERFACE ${CMAKE_INSTALL_PREFIX}/include + INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang + INTERFACE ${SPIRV_INCLUDE_DIR}) + +target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) + +add_executable(glslangValidator IMPORTED GLOBAL) +set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) + +]===]) + + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party/spirv-tools) + + file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/spirv-tools/CMakeLists.txt [===[ + +include(FindPackageHandleStandardArgs) +include(SelectLibraryConfigurations) + +find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) +find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + +select_library_configurations(SPIRV_TOOLS) +select_library_configurations(SPIRV_TOOLS_OPT) + +select_library_configurations(SPIRV_TOOLS) + +find_package_handle_standard_args( + SPIRV-Tools + DEFAULT_MSG + SPIRV_TOOLS_LIBRARY + SPIRV_TOOLS_OPT_LIBRARY + SPIRV_TOOLS_INCLUDE_DIR +) + +add_library(SPIRV-Tools STATIC IMPORTED GLOBAL ) +set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( +SPIRV-Tools + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} +) + +set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) + +add_library(SPIRV-Tools-opt UNKNOWN IMPORTED GLOBAL) +set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + SPIRV-Tools-opt + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} +) + +]===]) # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") # message(STATUS ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") From 4ed3015ec79d974c2d0ff454f62d2164983a0678 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 17:12:17 +0100 Subject: [PATCH 066/100] add spriv to glslang --- CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d2f624f..ef626c0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,6 +117,45 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) +find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) +find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) + +select_library_configurations(SPIRV_TOOLS) +select_library_configurations(SPIRV_TOOLS_OPT) + +select_library_configurations(SPIRV_TOOLS) + +find_package_handle_standard_args( + SPIRV-Tools + DEFAULT_MSG + SPIRV_TOOLS_LIBRARY + SPIRV_TOOLS_OPT_LIBRARY + SPIRV_TOOLS_INCLUDE_DIR +) + +add_library(SPIRV-Tools STATIC IMPORTED GLOBAL ) +set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( +SPIRV-Tools + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} +) + +set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) + +add_library(SPIRV-Tools-opt UNKNOWN IMPORTED GLOBAL) +set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +set_target_properties( + SPIRV-Tools-opt + PROPERTIES + IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} + INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} +) + find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) From 368fa7e8b9ded828fccc8cd324449a09648e44fd Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 17:29:25 +0100 Subject: [PATCH 067/100] SPIRV global --- CMakeLists.txt | 43 ++----------------------------------------- 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef626c0d..b0978b4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,45 +117,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) -find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) -find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - -select_library_configurations(SPIRV_TOOLS) -select_library_configurations(SPIRV_TOOLS_OPT) - -select_library_configurations(SPIRV_TOOLS) - -find_package_handle_standard_args( - SPIRV-Tools - DEFAULT_MSG - SPIRV_TOOLS_LIBRARY - SPIRV_TOOLS_OPT_LIBRARY - SPIRV_TOOLS_INCLUDE_DIR -) - -add_library(SPIRV-Tools STATIC IMPORTED GLOBAL ) -set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( -SPIRV-Tools - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} -) - -set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) - -add_library(SPIRV-Tools-opt UNKNOWN IMPORTED GLOBAL) -set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - SPIRV-Tools-opt - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} -) - find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) @@ -265,7 +226,7 @@ target_link_directories(glslang target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) -add_library(SPIRV STATIC IMPORTED) +add_library(SPIRV STATIC IMPORTED GLOBAL) set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( SPIRV @@ -312,7 +273,7 @@ find_package_handle_standard_args( SPIRV_TOOLS_INCLUDE_DIR ) -add_library(SPIRV-Tools STATIC IMPORTED GLOBAL ) +add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( SPIRV-Tools From 14a0cbbbf45308bd330e2beb799467eb9d6825f1 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 17:45:26 +0100 Subject: [PATCH 068/100] implement old fix --- CMakeLists.txt | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b0978b4a..050a3b52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,15 +102,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/glslc/src/build-version.inc" [["shaderc v2021.1-dev unknown hash, 2021-06-21\n"]]) - # message("current source dir") - # ls_path("${CMAKE_CURRENT_SOURCE_DIR}") - # message("current binary dir") - # ls_path("${CMAKE_CURRENT_BINARY_DIR}") - # message("install prefix") - # ls_path("${CMAKE_INSTALL_PREFIX}") - # message("current list dir") - # ls_path("${CMAKE_CURRENT_LIST_DIR}") - file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang) file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang/CMakeLists.txt [===[ @@ -516,19 +507,19 @@ set_target_properties( # file(COPY "CHANGES" DESTINATION ${CMAKE_INSTALL_PREFIX}/include) - # if(MSVC) - # set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) - # endif() + if(MSVC) + set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) + endif() # message(STATUS "glslang/Include") # ls_path(${CMAKE_INSTALL_PREFIX}/include/glslang/Include) - # if(CMAKE_BUILD_TYPE STREQUAL "Debug") - # message(STATUS "config debug strqual") - # # set(CMAKE_DEBUG_POSTFIX d) - # set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") - # set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}") - # endif() + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + message(STATUS "config debug strqual") + set(CMAKE_DEBUG_POSTFIX "") + set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}") + endif() # SPIRV-Tools-static # MachineIndependent From 005786817b49aa954d97ad36c2fef4843270bc95 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 17:59:15 +0100 Subject: [PATCH 069/100] updates --- CMakeLists.txt | 224 ------------------------------------------------- 1 file changed, 224 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 050a3b52..adfbb939 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -285,202 +285,6 @@ set_target_properties( ) ]===]) - - # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h HINTS "${CMAKE_INSTALL_PREFIX}/include") - # message(STATUS ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") - # # ls_path(${glslang_SOURCE_DIR}) - # # set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) - - # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - - # # set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/glslang" CACHE STRING "" FORCE) - # # set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/spirv-tools" CACHE STRING "" FORCE) - - # message(STATUS "spirv-tools_SOURCE_DIR") - # ls_path(${spirv-tools_SOURCE_DIR}) - - # include(FindPackageHandleStandardArgs) - # include(SelectLibraryConfigurations) - - # set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "" FORCE) - - # find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - # find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) - # find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - # find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - - # message(STATUS "SPIRV_TOOLS_INCLUDE_DIR") - # ls_path(${SPIRV_TOOLS_INCLUDE_DIR}) - - # message(STATUS "CMAKE_INSTALL_PREFIX/include/") - # ls_path(${CMAKE_INSTALL_PREFIX}/include/) - - # message(STATUS "CMAKE_INSTALL_PREFIX/include/spirv-tools") - # ls_path(${CMAKE_INSTALL_PREFIX}/include/spirv-tools) - - # select_library_configurations(SPIRV_TOOLS) - # select_library_configurations(SPIRV_TOOLS_OPT) - - # find_package_handle_standard_args( - # SPIRV-Tools - # DEFAULT_MSG - # SPIRV_TOOLS_LIBRARY - # SPIRV_TOOLS_OPT_LIBRARY - # SPIRV_TOOLS_INCLUDE_DIR - # ) - - # add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) - # set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # SPIRV-Tools - # PROPERTIES - # IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} - # INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} - # ) - - # set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) - - # add_library(SPIRV-Tools-opt UNKNOWN IMPORTED) - # set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # SPIRV-Tools-opt - # PROPERTIES - # IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} - # INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} - # ) - - # set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES SPIRV-Tools) - - # find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - # find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - # find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - # find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - # find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) - # find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - # find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) - # find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) - # find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) - # find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) - find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) - - # message(STATUS "CMAKE_INSTALL_PREFIX") - # ls_path(${CMAKE_INSTALL_PREFIX}) - - # message(STATUS "SPIRV_INCLUDE_DIR") - # ls_path(${SPIRV_INCLUDE_DIR}) - - # select_library_configurations(GLSLANG) - # select_library_configurations(OGLCOMPILER) - # select_library_configurations(OSDEPENDENT) - # select_library_configurations(SPIRV) - # select_library_configurations(HLSL) - # select_library_configurations(GENERICCODEGEN) - # select_library_configurations(MACHINEINDEPENDENT) - - # find_package_handle_standard_args( - # glslang - # DEFAULT_MSG - # GLSLANG_LIBRARY - # OGLCOMPILER_LIBRARY - # OSDEPENDENT_LIBRARY - # SPIRV_TOOLS_OPT_LIBRARY - # SPIRV_LIBRARY - # HLSL_LIBRARY - # SPVREMAPPER_LIBRARY - # GLSLANG_INCLUDE_DIR - # SPIRV_INCLUDE_DIR - # ) - - # find_package(Threads) - - # add_library(OGLCompiler STATIC IMPORTED) - # set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # OGLCompiler - # PROPERTIES - # IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} - # ) - - # target_link_libraries(OGLCompiler INTERFACE Threads::Threads) - - # add_library(OSDependent STATIC IMPORTED) - # set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # OSDependent - # PROPERTIES - # IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} - # ) - - # target_link_libraries(OSDependent INTERFACE Threads::Threads) - - # add_library(HLSL STATIC IMPORTED) - # set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # HLSL - # PROPERTIES - # IMPORTED_LOCATION ${HLSL_LIBRARY} - # INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang - # ) - - # add_library(GenericCodeGen STATIC IMPORTED) - # set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # GenericCodeGen - # PROPERTIES - # IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} - # INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang - # ) - - # add_library(MachineIndependent STATIC IMPORTED) - # set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # MachineIndependent - # PROPERTIES - # IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} - # INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang - # ) - - # target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) - - # add_library(glslang STATIC IMPORTED) - # set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # glslang - # PROPERTIES - # IMPORTED_LOCATION ${GLSLANG_LIBRARY} - # INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" - # ) - - # target_link_directories(glslang - # INTERFACE ${CMAKE_INSTALL_PREFIX}/include - # INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - # INTERFACE ${GLSLANG_INCLUDE_DIR}) - # target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) - - # add_library(SPIRV STATIC IMPORTED) - # set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") - # set_target_properties( - # SPIRV - # PROPERTIES - # IMPORTED_LOCATION ${SPIRV_LIBRARY} - # INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" - # ) - - # target_link_directories(SPIRV - # INTERFACE ${CMAKE_INSTALL_PREFIX}/include - # INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - # INTERFACE ${SPIRV_INCLUDE_DIR}) - - # target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) # include(CMakeFindDependencyMacro) @@ -490,30 +294,10 @@ set_target_properties( # include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) # endforeach() - # set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) - # set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) - # set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) - # set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) - # set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) - # set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) - - # find_package_handle_standard_args(glslangValidator - # "Cannot find glslangValidator, Shader won't be compiled offline" - # GLSLANG_VALIDATOR_EXE - # ) - - # add_executable(glslangValidator IMPORTED) - # set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) - - # file(COPY "CHANGES" DESTINATION ${CMAKE_INSTALL_PREFIX}/include) - if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() - # message(STATUS "glslang/Include") - # ls_path(${CMAKE_INSTALL_PREFIX}/include/glslang/Include) - if(CMAKE_BUILD_TYPE STREQUAL "Debug") message(STATUS "config debug strqual") set(CMAKE_DEBUG_POSTFIX "") @@ -521,14 +305,6 @@ set_target_properties( set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}") endif() - # SPIRV-Tools-static - # MachineIndependent - # SPIRV - # SPIRV-Tools-opt - # GenericCodeGen - # OSDependent - # OGLCompiler - ]====]) file(WRITE ${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake [====[ From 1a584332ea8705a92a924cb4f0d35cabeac637f6 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 11 Aug 2022 18:53:38 +0100 Subject: [PATCH 070/100] fixed spirv-tools --- CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index adfbb939..858ccc35 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,6 +90,10 @@ endif() if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ + set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + function(ls_path path) if(WIN32) execute_process(COMMAND powershell "-c" "ls ${path}") @@ -143,7 +147,6 @@ find_package_handle_standard_args( GLSLANG_LIBRARY OGLCOMPILER_LIBRARY OSDEPENDENT_LIBRARY - SPIRV_TOOLS_OPT_LIBRARY SPIRV_LIBRARY HLSL_LIBRARY GLSLANG_INCLUDE_DIR @@ -275,7 +278,7 @@ SPIRV-Tools set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) -add_library(SPIRV-Tools-opt UNKNOWN IMPORTED GLOBAL) +add_library(SPIRV-Tools-opt STATIC IMPORTED GLOBAL) set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") set_target_properties( SPIRV-Tools-opt From a427feb2ee74a1de744bcb78f660529a2abe6ee7 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Fri, 12 Aug 2022 23:08:22 +0100 Subject: [PATCH 071/100] link spirv-opt + spirv-tools --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 858ccc35..4b7cbed0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -287,6 +287,8 @@ set_target_properties( INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) +target_link_libraries(SPIRV-Tools-opt SPIRV-Tools) + ]===]) # include(CMakeFindDependencyMacro) From 11f1aa67906eb3a7d886f506c23c9925602788ef Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Fri, 12 Aug 2022 23:15:18 +0100 Subject: [PATCH 072/100] INTERFACE --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b7cbed0..eee291b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -287,7 +287,7 @@ set_target_properties( INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) -target_link_libraries(SPIRV-Tools-opt SPIRV-Tools) +target_link_libraries(SPIRV-Tools-opt INTERFACE SPIRV-Tools) ]===]) From bbb8a7e8edbe170bf9604129edf5d5f7efc588d9 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Fri, 12 Aug 2022 23:49:37 +0100 Subject: [PATCH 073/100] set glslang_SOURCE_DIR --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index eee291b3..b7fdb32d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -239,6 +239,10 @@ target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) add_executable(glslangValidator IMPORTED GLOBAL) set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) +find_path(glslang_SOURCE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) +# find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) +set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + ]===]) file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party/spirv-tools) From 990e0ff4c0f515896c18c0d4802994609e7f5713 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 13 Aug 2022 16:20:55 +0100 Subject: [PATCH 074/100] find_package glslang --- CMakeLists.txt | 267 ++++++++++++++++++----------------- cmake/glslang/CMakeLists.txt | 4 +- 2 files changed, 141 insertions(+), 130 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b7fdb32d..35242346 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -109,135 +109,144 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang) file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang/CMakeLists.txt [===[ -include(FindPackageHandleStandardArgs) -include(SelectLibraryConfigurations) - -find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) -find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) -find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) -find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) -find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) - -select_library_configurations(GLSLANG) -select_library_configurations(OGLCOMPILER) -select_library_configurations(OSDEPENDENT) -select_library_configurations(SPIRV) -select_library_configurations(HLSL) -select_library_configurations(GENERICCODEGEN) -select_library_configurations(MACHINEINDEPENDENT) -select_library_configurations(SPVREMAPPER) - -find_package_handle_standard_args( - glslang - DEFAULT_MSG - GLSLANG_LIBRARY - OGLCOMPILER_LIBRARY - OSDEPENDENT_LIBRARY - SPIRV_LIBRARY - HLSL_LIBRARY - GLSLANG_INCLUDE_DIR - SPIRV_INCLUDE_DIR - ) - -find_package(Threads) - -add_library(OGLCompiler STATIC IMPORTED GLOBAL) -set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - OGLCompiler - PROPERTIES - IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} -) - -target_link_libraries(OGLCompiler INTERFACE Threads::Threads) - -add_library(OSDependent STATIC IMPORTED GLOBAL) -set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - OSDependent - PROPERTIES - IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} -) - -target_link_libraries(OSDependent INTERFACE Threads::Threads) - -add_library(HLSL STATIC IMPORTED GLOBAL) -set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - HLSL - PROPERTIES - IMPORTED_LOCATION ${HLSL_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -) - -add_library(GenericCodeGen STATIC IMPORTED GLOBAL) -set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - GenericCodeGen - PROPERTIES - IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -) - -add_library(MachineIndependent STATIC IMPORTED GLOBAL) -set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - MachineIndependent - PROPERTIES - IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -) - -target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) - -add_library(glslang STATIC IMPORTED GLOBAL) -set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - glslang - PROPERTIES - IMPORTED_LOCATION ${GLSLANG_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" -) - -target_link_directories(glslang - INTERFACE ${CMAKE_INSTALL_PREFIX}/include - INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - INTERFACE ${GLSLANG_INCLUDE_DIR}) - -target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) - -add_library(SPIRV STATIC IMPORTED GLOBAL) -set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - SPIRV - PROPERTIES - IMPORTED_LOCATION ${SPIRV_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" -) - -target_link_directories(SPIRV - INTERFACE ${CMAKE_INSTALL_PREFIX}/include - INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - INTERFACE ${SPIRV_INCLUDE_DIR}) - -target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) - -add_executable(glslangValidator IMPORTED GLOBAL) -set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) +# include(FindPackageHandleStandardArgs) +# include(SelectLibraryConfigurations) + +# find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +# find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +# find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +# find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) +# find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +# find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +# find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) +# find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) +# find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) +# find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) +# find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) + +# select_library_configurations(GLSLANG) +# select_library_configurations(OGLCOMPILER) +# select_library_configurations(OSDEPENDENT) +# select_library_configurations(SPIRV) +# select_library_configurations(HLSL) +# select_library_configurations(GENERICCODEGEN) +# select_library_configurations(MACHINEINDEPENDENT) +# select_library_configurations(SPVREMAPPER) + +# find_package_handle_standard_args( +# glslang +# DEFAULT_MSG +# GLSLANG_LIBRARY +# OGLCOMPILER_LIBRARY +# OSDEPENDENT_LIBRARY +# SPIRV_LIBRARY +# HLSL_LIBRARY +# GLSLANG_INCLUDE_DIR +# SPIRV_INCLUDE_DIR +# ) + +# find_package(Threads) + +# add_library(OGLCompiler STATIC IMPORTED GLOBAL) +# set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +# set_target_properties( +# OGLCompiler +# PROPERTIES +# IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} +# ) + +# target_link_libraries(OGLCompiler INTERFACE Threads::Threads) + +# add_library(OSDependent STATIC IMPORTED GLOBAL) +# set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +# set_target_properties( +# OSDependent +# PROPERTIES +# IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} +# ) + +# target_link_libraries(OSDependent INTERFACE Threads::Threads) + +# add_library(HLSL STATIC IMPORTED GLOBAL) +# set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +# set_target_properties( +# HLSL +# PROPERTIES +# IMPORTED_LOCATION ${HLSL_LIBRARY} +# INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +# ) + +# add_library(GenericCodeGen STATIC IMPORTED GLOBAL) +# set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +# set_target_properties( +# GenericCodeGen +# PROPERTIES +# IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} +# INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +# ) + +# add_library(MachineIndependent STATIC IMPORTED GLOBAL) +# set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +# set_target_properties( +# MachineIndependent +# PROPERTIES +# IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} +# INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang +# ) + +# target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) + +# add_library(glslang STATIC IMPORTED GLOBAL) +# set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +# set_target_properties( +# glslang +# PROPERTIES +# IMPORTED_LOCATION ${GLSLANG_LIBRARY} +# INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" +# ) + +# target_link_directories(glslang +# INTERFACE ${CMAKE_INSTALL_PREFIX}/include +# INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang +# INTERFACE ${GLSLANG_INCLUDE_DIR}) + +# target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) + +# add_library(SPIRV STATIC IMPORTED GLOBAL) +# set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") +# set_target_properties( +# SPIRV +# PROPERTIES +# IMPORTED_LOCATION ${SPIRV_LIBRARY} +# INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" +# ) + +# target_link_directories(SPIRV +# INTERFACE ${CMAKE_INSTALL_PREFIX}/include +# INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang +# INTERFACE ${SPIRV_INCLUDE_DIR}) + +# target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) + +# add_executable(glslangValidator IMPORTED GLOBAL) +# set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) + +find_package(glslang CONFIG REQUIRED) + +set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) find_path(glslang_SOURCE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) diff --git a/cmake/glslang/CMakeLists.txt b/cmake/glslang/CMakeLists.txt index fe940606..e042b4f4 100644 --- a/cmake/glslang/CMakeLists.txt +++ b/cmake/glslang/CMakeLists.txt @@ -1,6 +1,7 @@ include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) +# RELEASE find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) @@ -9,6 +10,7 @@ find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS $ find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) +# DEBUG find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) @@ -124,7 +126,7 @@ target_link_directories(SPIRV INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang INTERFACE ${SPIRV_INCLUDE_DIR}) -target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) +target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools SPIRV-Tools-opt) add_executable(glslangValidator IMPORTED GLOBAL) set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) From cce8f4ceda76bfe5d4a8d9a3e87a694a6ac87759 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 13 Aug 2022 16:35:06 +0100 Subject: [PATCH 075/100] glslang-config.cmake --- CMakeLists.txt | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 35242346..b5956bb6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,6 +88,19 @@ else() endif() if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") + + file(WRITE ${CMAKE_MODULE_PATH}/glslang-config.cmake [===[ + + include(CMakeFindDependencyMacro) + + find_dependency(Threads) + + foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV spirv-remap SPVRemapper) + include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) + endforeach() + + ]===]) + file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) @@ -239,14 +252,14 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # add_executable(glslangValidator IMPORTED GLOBAL) # set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) -find_package(glslang CONFIG REQUIRED) +# find_package(glslang CONFIG REQUIRED) -set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) +# set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) +# set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) +# set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) +# set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) +# set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) +# set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) find_path(glslang_SOURCE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) From 039aaf013075a90658c91ba1da3df47d59d598ff Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 13 Aug 2022 16:54:22 +0100 Subject: [PATCH 076/100] ls the paths --- CMakeLists.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b5956bb6..01c076fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,16 +91,27 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_MODULE_PATH}/glslang-config.cmake [===[ + function(ls_path path) + if(WIN32) + execute_process(COMMAND powershell "-c" "ls ${path}") + else() + execute_process(COMMAND bash "-c" "ls ${path}") + endif() + endfunction(ls_path path) + include(CMakeFindDependencyMacro) find_dependency(Threads) + + ls_path(${CMAKE_CURRENT_LIST_DIR}) + ls_path(${CMAKE_INSTALL_PREFIX}) foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV spirv-remap SPVRemapper) include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) endforeach() ]===]) - + file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) From c59a66c2315a80c573567b06ac8c10598c925ca9 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sat, 13 Aug 2022 17:06:23 +0100 Subject: [PATCH 077/100] forgot comment --- CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01c076fa..92dbacdd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -263,14 +263,14 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # add_executable(glslangValidator IMPORTED GLOBAL) # set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) -# find_package(glslang CONFIG REQUIRED) - -# set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) -# set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) -# set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) -# set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) -# set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) -# set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) +find_package(glslang CONFIG REQUIRED) + +set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) +set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) find_path(glslang_SOURCE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) # find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) From 8524311b1fdb8dd01542e66ea9c6438af1561526 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 15 Aug 2022 22:50:26 +0100 Subject: [PATCH 078/100] add cmake_source_dir to cmake_module_path --- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 92dbacdd..13cb2da9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,9 @@ endif() if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") - file(WRITE ${CMAKE_MODULE_PATH}/glslang-config.cmake [===[ + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_SOURCE_DIR}") + + file(WRITE ${CMAKE_SOURCE_DIR}/glslang-config.cmake [===[ function(ls_path path) if(WIN32) @@ -110,7 +112,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) endforeach() + message(STATUS "FIND GLSLANG IS PRESENT") + ]===]) + file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ From d7dfc49a8c11404fc42da346e8a49053c780f3a6 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 18 Aug 2022 01:23:08 +0100 Subject: [PATCH 079/100] from the top --- CMakeLists.txt | 262 ++--------------------------------- cmake/glslang/CMakeLists.txt | 8 ++ 2 files changed, 20 insertions(+), 250 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 13cb2da9..21936d8d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,39 +89,20 @@ endif() if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") - set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_SOURCE_DIR}") - - file(WRITE ${CMAKE_SOURCE_DIR}/glslang-config.cmake [===[ - - function(ls_path path) - if(WIN32) - execute_process(COMMAND powershell "-c" "ls ${path}") - else() - execute_process(COMMAND bash "-c" "ls ${path}") - endif() - endfunction(ls_path path) - - include(CMakeFindDependencyMacro) - - find_dependency(Threads) - - ls_path(${CMAKE_CURRENT_LIST_DIR}) - ls_path(${CMAKE_INSTALL_PREFIX}) - - foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV spirv-remap SPVRemapper) - include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) - endforeach() - - message(STATUS "FIND GLSLANG IS PRESENT") - - ]===]) - + ExternalProject_Get_Property(Glslang SOURCE_DIR) + set(glslang_SOURCE_DIR ${SOURCE_DIR} CACHE FILEPATH "" FORCE) + message("Source dir of glslang = ${SOURCE_DIR}") + ExternalProject_Get_Property(SPIRV-Tools SOURCE_DIR) + set(spirv-tools_SOURCE_DIR ${SOURCE_DIR} CACHE FILEPATH "" FORCE) + message("Source dir of spirv-tools = ${SOURCE_DIR}") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ - set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + message(STATUS "glslang_SOURCE_DIR ${glslang_SOURCE_DIR}") + message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") + # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") function(ls_path path) if(WIN32) @@ -133,214 +114,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") - file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/glslc/src/build-version.inc" [["shaderc v2021.1-dev unknown hash, 2021-06-21\n"]]) - - file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang) - file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glslang/CMakeLists.txt [===[ - -# include(FindPackageHandleStandardArgs) -# include(SelectLibraryConfigurations) - -# find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -# find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -# find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -# find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) -# find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -# find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -# find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) -# find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -# find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) -# find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) -# find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) - -# select_library_configurations(GLSLANG) -# select_library_configurations(OGLCOMPILER) -# select_library_configurations(OSDEPENDENT) -# select_library_configurations(SPIRV) -# select_library_configurations(HLSL) -# select_library_configurations(GENERICCODEGEN) -# select_library_configurations(MACHINEINDEPENDENT) -# select_library_configurations(SPVREMAPPER) - -# find_package_handle_standard_args( -# glslang -# DEFAULT_MSG -# GLSLANG_LIBRARY -# OGLCOMPILER_LIBRARY -# OSDEPENDENT_LIBRARY -# SPIRV_LIBRARY -# HLSL_LIBRARY -# GLSLANG_INCLUDE_DIR -# SPIRV_INCLUDE_DIR -# ) - -# find_package(Threads) - -# add_library(OGLCompiler STATIC IMPORTED GLOBAL) -# set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -# set_target_properties( -# OGLCompiler -# PROPERTIES -# IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} -# ) - -# target_link_libraries(OGLCompiler INTERFACE Threads::Threads) - -# add_library(OSDependent STATIC IMPORTED GLOBAL) -# set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -# set_target_properties( -# OSDependent -# PROPERTIES -# IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} -# ) - -# target_link_libraries(OSDependent INTERFACE Threads::Threads) - -# add_library(HLSL STATIC IMPORTED GLOBAL) -# set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -# set_target_properties( -# HLSL -# PROPERTIES -# IMPORTED_LOCATION ${HLSL_LIBRARY} -# INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -# ) - -# add_library(GenericCodeGen STATIC IMPORTED GLOBAL) -# set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -# set_target_properties( -# GenericCodeGen -# PROPERTIES -# IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} -# INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -# ) - -# add_library(MachineIndependent STATIC IMPORTED GLOBAL) -# set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -# set_target_properties( -# MachineIndependent -# PROPERTIES -# IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} -# INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -# ) - -# target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) - -# add_library(glslang STATIC IMPORTED GLOBAL) -# set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -# set_target_properties( -# glslang -# PROPERTIES -# IMPORTED_LOCATION ${GLSLANG_LIBRARY} -# INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" -# ) - -# target_link_directories(glslang -# INTERFACE ${CMAKE_INSTALL_PREFIX}/include -# INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang -# INTERFACE ${GLSLANG_INCLUDE_DIR}) - -# target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) - -# add_library(SPIRV STATIC IMPORTED GLOBAL) -# set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -# set_target_properties( -# SPIRV -# PROPERTIES -# IMPORTED_LOCATION ${SPIRV_LIBRARY} -# INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" -# ) - -# target_link_directories(SPIRV -# INTERFACE ${CMAKE_INSTALL_PREFIX}/include -# INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang -# INTERFACE ${SPIRV_INCLUDE_DIR}) - -# target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools-opt) - -# add_executable(glslangValidator IMPORTED GLOBAL) -# set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) - -find_package(glslang CONFIG REQUIRED) - -set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) - -find_path(glslang_SOURCE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) -# find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) -set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) - -]===]) - - file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/third_party/spirv-tools) - - file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/spirv-tools/CMakeLists.txt [===[ - -include(FindPackageHandleStandardArgs) -include(SelectLibraryConfigurations) - -find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) -find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - -select_library_configurations(SPIRV_TOOLS) -select_library_configurations(SPIRV_TOOLS_OPT) - -select_library_configurations(SPIRV_TOOLS) - -find_package_handle_standard_args( - SPIRV-Tools - DEFAULT_MSG - SPIRV_TOOLS_LIBRARY - SPIRV_TOOLS_OPT_LIBRARY - SPIRV_TOOLS_INCLUDE_DIR -) - -add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) -set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( -SPIRV-Tools - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} -) - -set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) - -add_library(SPIRV-Tools-opt STATIC IMPORTED GLOBAL) -set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - SPIRV-Tools-opt - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} -) - -target_link_libraries(SPIRV-Tools-opt INTERFACE SPIRV-Tools) - -]===]) - - # include(CMakeFindDependencyMacro) - - # find_dependency(Threads) - - # foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV) - # include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) - # endforeach() - if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() @@ -354,19 +127,8 @@ target_link_libraries(SPIRV-Tools-opt INTERFACE SPIRV-Tools) ]====]) - file(WRITE ${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake [====[ - if(SHADERC_ENABLE_INSTALL AND NOT BUILD_SHARED_LIBS) - install(TARGETS shaderc_util - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() - - ]====]) - # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") - set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") - + set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) endif() diff --git a/cmake/glslang/CMakeLists.txt b/cmake/glslang/CMakeLists.txt index e042b4f4..054304ec 100644 --- a/cmake/glslang/CMakeLists.txt +++ b/cmake/glslang/CMakeLists.txt @@ -131,3 +131,11 @@ target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools SPIRV-Tools add_executable(glslangValidator IMPORTED GLOBAL) set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) + + # include(CMakeFindDependencyMacro) + + # find_dependency(Threads) + + # foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV) + # include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) + # endforeach() From 2efadacb8c5298be87e1742066c238ce521c9920 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 18 Aug 2022 01:35:12 +0100 Subject: [PATCH 080/100] cmake_extra --- CMakeLists.txt | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 21936d8d..daee0497 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,17 +89,10 @@ endif() if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") - ExternalProject_Get_Property(Glslang SOURCE_DIR) - set(glslang_SOURCE_DIR ${SOURCE_DIR} CACHE FILEPATH "" FORCE) - message("Source dir of glslang = ${SOURCE_DIR}") - ExternalProject_Get_Property(SPIRV-Tools SOURCE_DIR) - set(spirv-tools_SOURCE_DIR ${SOURCE_DIR} CACHE FILEPATH "" FORCE) - message("Source dir of spirv-tools = ${SOURCE_DIR}") - file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ - message(STATUS "glslang_SOURCE_DIR ${glslang_SOURCE_DIR}") - message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") + # message(STATUS "glslang_SOURCE_DIR ${glslang_SOURCE_DIR}") + # message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") @@ -129,7 +122,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") - # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) + set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) endif() @@ -211,6 +204,8 @@ foreach(name ${VULKAN_SDK_COMPONENTS}) setup_component(${name} "${name}") endforeach() + + message("===================================================================") message("VULKAN_SDK_COMPONENTS: ${VULKAN_SDK_COMPONENTS}") get_property(VULKAN_COMPONENTS_PROCESSED GLOBAL PROPERTY VULKAN_COMPONENTS_PROCESSED) From 579045d25293b275a030e41814c8a84b77fe6579 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Thu, 18 Aug 2022 01:48:18 +0100 Subject: [PATCH 081/100] debugging --- CMakeLists.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index daee0497..5bf7dcd4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,6 +87,14 @@ else() set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DBUILD_EXTERNAL:BOOL=OFF) endif() +function(ls_path path) + if(WIN32) + execute_process(COMMAND powershell "-c" "ls ${path}") + else() + execute_process(COMMAND bash "-c" "ls ${path}") + endif() +endfunction(ls_path path) + if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ @@ -105,6 +113,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) + ls_path(".") + ls_path("..") + + ls_path(${CMAKE_CURRENT_BINARY_DIR}) + ls_path(${CMAKE_CURRENT_SOURCE_DIR}) + message(STATUS "======================== SHADERC PATCH ========================") if(MSVC) @@ -124,6 +138,11 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) + ls_path(".") + ls_path("..") + ls_path("...") + + endif() function(setup_component_dependency key value parentName) From bb3367c750b8e884c9f7eee8e38f43cf37501bbf Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Sun, 28 Aug 2022 23:54:45 +0100 Subject: [PATCH 082/100] added debugging for source location --- CMakeLists.txt | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5bf7dcd4..761947c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,12 +99,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ - # message(STATUS "glslang_SOURCE_DIR ${glslang_SOURCE_DIR}") - # message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") - # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - function(ls_path path) if(WIN32) execute_process(COMMAND powershell "-c" "ls ${path}") @@ -113,6 +107,17 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) + ls_path(".") + ls_path("..") + ls_path("../..") + + + message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-prefix/spirv-tools") + message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") + # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + ls_path(".") ls_path("..") @@ -136,7 +141,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") - set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) + # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) ls_path(".") ls_path("..") From aa3f6e83af77e084d1dfff2802507ddbd50eef82 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 00:04:30 +0100 Subject: [PATCH 083/100] edits to make work? --- CMakeLists.txt | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 761947c0..9a5ab6e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,6 +98,11 @@ endfunction(ls_path path) if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ +# message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-preficx") + message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") + # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") function(ls_path path) if(WIN32) @@ -112,15 +117,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ls_path("../..") - message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-prefix/spirv-tools") - message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") - # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - - ls_path(".") - ls_path("..") - ls_path(${CMAKE_CURRENT_BINARY_DIR}) ls_path(${CMAKE_CURRENT_SOURCE_DIR}) From 13f9c50857636c509d0d717522ab8df1cc101d91 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 00:08:46 +0100 Subject: [PATCH 084/100] testing source_dir build --- CMakeLists.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a5ab6e2..37c21de1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,12 +98,16 @@ endfunction(ls_path path) if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ + message(STATUS "======================== SHADERC PATCH ========================") # message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-preficx") - message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") + # message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") + set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + function(ls_path path) if(WIN32) execute_process(COMMAND powershell "-c" "ls ${path}") @@ -116,12 +120,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ls_path("..") ls_path("../..") - ls_path(${CMAKE_CURRENT_BINARY_DIR}) ls_path(${CMAKE_CURRENT_SOURCE_DIR}) - message(STATUS "======================== SHADERC PATCH ========================") - if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() From 75c03e691f3dd351439be67710ee059709368e2b Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 00:19:39 +0100 Subject: [PATCH 085/100] SHADERC_ --- CMakeLists.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 37c21de1..0d425b6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,12 +101,15 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") # message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-preficx") # message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") - # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + + # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") + # set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") + set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") - set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") function(ls_path path) if(WIN32) From ea60789cc6ff50686047c9d7f375babda71e5f15 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 00:28:33 +0100 Subject: [PATCH 086/100] ../ --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d425b6b..e7b1de76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,8 +107,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") # set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") - set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + set(SHADERC_GLSLANG_DIR "../../../Glslang-prefix/src/Glslang") + set(SHADERC_SPIRV_TOOLS_DIR "../../../SPIRV-Tools-prefix/src/SPIRV-Tools") function(ls_path path) From f1bc67fc955098052c6c9edbd37325d9839d1f38 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 00:50:54 +0100 Subject: [PATCH 087/100] more ls and force strings --- CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e7b1de76..7dcec268 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,8 +107,11 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") # set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - set(SHADERC_GLSLANG_DIR "../../../Glslang-prefix/src/Glslang") - set(SHADERC_SPIRV_TOOLS_DIR "../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + set(SHADERC_GLSLANG_DIR "../../../Glslang-prefix/src/Glslang" CACHE STRING "" FORCE) + set(SHADERC_SPIRV_TOOLS_DIR "../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE STRING "" FORCE) + + ls_path("../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + ls_path("../../../Glslang-prefix/src/Glslang") function(ls_path path) From dba74b7b22956dc282d1f7f79027a37b052c4049 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 00:59:33 +0100 Subject: [PATCH 088/100] mistakes --- CMakeLists.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7dcec268..e3129b13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,10 +110,6 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") set(SHADERC_GLSLANG_DIR "../../../Glslang-prefix/src/Glslang" CACHE STRING "" FORCE) set(SHADERC_SPIRV_TOOLS_DIR "../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE STRING "" FORCE) - ls_path("../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - ls_path("../../../Glslang-prefix/src/Glslang") - - function(ls_path path) if(WIN32) execute_process(COMMAND powershell "-c" "ls ${path}") @@ -122,6 +118,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) + ls_path("../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + ls_path("../../../Glslang-prefix/src/Glslang") + ls_path(".") ls_path("..") ls_path("../..") From 5fb7a2a85a816e3b0348af700f57a6a5e7f88668 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 01:11:49 +0100 Subject: [PATCH 089/100] filepath --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e3129b13..f786f639 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,8 +107,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") # set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - set(SHADERC_GLSLANG_DIR "../../../Glslang-prefix/src/Glslang" CACHE STRING "" FORCE) - set(SHADERC_SPIRV_TOOLS_DIR "../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE STRING "" FORCE) + set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../Glslang-prefix/src/Glslang" CACHE FILEPATH "" FORCE) + set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE FILEPATH "" FORCE) function(ls_path path) if(WIN32) @@ -118,8 +118,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) - ls_path("../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - ls_path("../../../Glslang-prefix/src/Glslang") + ls_path("${CMAKE_CURRENT_LIST_DIR}/../../../Glslang-prefix/src/Glslang") + ls_path("${CMAKE_CURRENT_LIST_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") ls_path(".") ls_path("..") From 98122df72c7dd474bc5ceb1fe0056ec0450de487 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 01:22:33 +0100 Subject: [PATCH 090/100] try again with proper CMAKE_ --- CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f786f639..508ebc82 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,8 +107,8 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") # set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../Glslang-prefix/src/Glslang" CACHE FILEPATH "" FORCE) - set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE FILEPATH "" FORCE) + set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang" CACHE FILEPATH "" FORCE) + set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE FILEPATH "" FORCE) function(ls_path path) if(WIN32) @@ -118,15 +118,15 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) - ls_path("${CMAKE_CURRENT_LIST_DIR}/../../../Glslang-prefix/src/Glslang") - ls_path("${CMAKE_CURRENT_LIST_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") + # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - ls_path(".") - ls_path("..") - ls_path("../..") + # ls_path(".") + # ls_path("..") + # ls_path("../..") - ls_path(${CMAKE_CURRENT_BINARY_DIR}) - ls_path(${CMAKE_CURRENT_SOURCE_DIR}) + # ls_path(${CMAKE_CURRENT_BINARY_DIR}) + # ls_path(${CMAKE_CURRENT_SOURCE_DIR}) if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) From 2a6437d42ae836b08502488a9f0c156d1b1ae006 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 01:36:17 +0100 Subject: [PATCH 091/100] progress --- CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 508ebc82..10519b75 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,7 +102,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-preficx") # message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) - # set(SPIRV-Headers_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers" CACHE FILEPATH "" FORCE) set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") @@ -118,12 +118,12 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) - # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") - # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") + ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - # ls_path(".") - # ls_path("..") - # ls_path("../..") + ls_path(".") + ls_path("..") + ls_path("../..") # ls_path(${CMAKE_CURRENT_BINARY_DIR}) # ls_path(${CMAKE_CURRENT_SOURCE_DIR}) From 1dcb1b66d200b9176bd8b49bf7242cce60e074ef Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 01:36:49 +0100 Subject: [PATCH 092/100] logging --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 10519b75..4a11a80c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,6 +120,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers") ls_path(".") ls_path("..") From 7782c05d720ce6d8b1d4bd55c7306edbe2ed9649 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 01:51:42 +0100 Subject: [PATCH 093/100] safeguard in glslang_SPIRV_patch --- CMakeLists.txt | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a11a80c..9ffda3fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,16 +69,18 @@ if(VULKAN_SDK_COMPONENTS MATCHES "Glslang.*SPIRV-Tools|SPIRV-Tools.*Glslang|shad message("Glslang + SPIRV-Tools -- patching Glslang dependency on SPIRV-Tools-opt") set_property(GLOBAL APPEND PROPERTY Glslang_deps_extra "SPIRV-Tools\;spirv-tools_SOURCE_DIR") file(WRITE ${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake [====[ - add_library(SPIRV-Tools-opt INTERFACE) - set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/lib ) - set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include ) - install(TARGETS SPIRV-Tools-opt EXPORT SPIRV-Tools-opt) - install(EXPORT SPIRV-Tools-opt DESTINATION lib/cmake) - set(spirv_tools NOTFOUND) - set(spirv_tools_opt NOTFOUND) - find_library(spirv_tools NAMES SPIRV-Tools SPIRV-Toolsd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) - find_library(spirv_tools_opt NAMES SPIRV-Tools-opt SPIRV-Tools-optd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) - set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${spirv_tools_opt} ${spirv_tools}) + if(NOT TARGET SPIRV-Tools-opt) + add_library(SPIRV-Tools-opt INTERFACE) + set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/lib ) + set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include ) + install(TARGETS SPIRV-Tools-opt EXPORT SPIRV-Tools-opt) + install(EXPORT SPIRV-Tools-opt DESTINATION lib/cmake) + set(spirv_tools NOTFOUND) + set(spirv_tools_opt NOTFOUND) + find_library(spirv_tools NAMES SPIRV-Tools SPIRV-Toolsd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) + find_library(spirv_tools_opt NAMES SPIRV-Tools-opt SPIRV-Tools-optd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH) + set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${spirv_tools_opt} ${spirv_tools}) + endif() ]====]) set_property(GLOBAL APPEND PROPERTY Glslang_patch_command bash "-c" "sed -i \'44 a include(${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake)\' CMakeLists.txt") set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DENABLE_OPT:BOOL=ON) @@ -101,9 +103,9 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") message(STATUS "======================== SHADERC PATCH ========================") # message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-preficx") # message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") - set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) + # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers" CACHE FILEPATH "" FORCE) - set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") + # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") # set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") @@ -118,13 +120,15 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) - ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") - ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers") + # execute_process(COMMAND python "${CMAKE_CURRENT_SOURCE_DIR}/utils/git-sync-deps") + + # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") + # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") + # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers") - ls_path(".") - ls_path("..") - ls_path("../..") + # ls_path(".") + # ls_path("..") + # ls_path("../..") # ls_path(${CMAKE_CURRENT_BINARY_DIR}) # ls_path(${CMAKE_CURRENT_SOURCE_DIR}) From 9faa9c4eaceb55985e1873aa37a612798391f6e1 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 02:22:20 +0100 Subject: [PATCH 094/100] try execute command --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ffda3fe..e3df87bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,11 +133,13 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # ls_path(${CMAKE_CURRENT_BINARY_DIR}) # ls_path(${CMAKE_CURRENT_SOURCE_DIR}) + execute_process(COMMAND python "./utils/update_build_version.py" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") + if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) endif() - if(CMAKE_BUILD_TYPE STREQUAL "Debug") + if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND MSVC) message(STATUS "config debug strqual") set(CMAKE_DEBUG_POSTFIX "") set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}") From 634c740239874debd11c232600051a610c0ec04e Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 02:29:16 +0100 Subject: [PATCH 095/100] fixed python --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e3df87bd..2928b9c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # ls_path(${CMAKE_CURRENT_BINARY_DIR}) # ls_path(${CMAKE_CURRENT_SOURCE_DIR}) - execute_process(COMMAND python "./utils/update_build_version.py" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") + execute_process(COMMAND python "${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) From 6154bb41443e29e2ef8ae98a226dee939e61b0b3 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 02:37:58 +0100 Subject: [PATCH 096/100] proper proper python --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2928b9c8..43ba7c21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") # ls_path(${CMAKE_CURRENT_BINARY_DIR}) # ls_path(${CMAKE_CURRENT_SOURCE_DIR}) - execute_process(COMMAND python "${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") + execute_process(COMMAND python "${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py" "${CMAKE_CURRENT_SOURCE_DIR}" "${SHADERC_SPIRV_TOOLS_DIR}" "${SHADERC_GLSLANG_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) From 4804a2f57dd8c4565dd65c6855ffa5171ce82bdc Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 10:51:03 +0100 Subject: [PATCH 097/100] force python3 for mac --- CMakeLists.txt | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43ba7c21..89d4c8ea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,13 +102,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ message(STATUS "======================== SHADERC PATCH ========================") # message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-preficx") - # message(STATUS "spirv-tools_SOURCE_DIR ${spirv-tools_SOURCE_DIR}") - # set(spirv-tools_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE FILEPATH "" FORCE) set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers" CACHE FILEPATH "" FORCE) - # set(glslang_SOURCE_DIR "${CMAKE_INSTALL_PREFIX}/include") - - # set(glslang_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") - # set(spirv-tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang" CACHE FILEPATH "" FORCE) set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE FILEPATH "" FORCE) @@ -120,20 +114,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") endif() endfunction(ls_path path) - # execute_process(COMMAND python "${CMAKE_CURRENT_SOURCE_DIR}/utils/git-sync-deps") - - # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang") - # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools") - # ls_path("${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers") - - # ls_path(".") - # ls_path("..") - # ls_path("../..") - - # ls_path(${CMAKE_CURRENT_BINARY_DIR}) - # ls_path(${CMAKE_CURRENT_SOURCE_DIR}) - - execute_process(COMMAND python "${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py" "${CMAKE_CURRENT_SOURCE_DIR}" "${SHADERC_SPIRV_TOOLS_DIR}" "${SHADERC_GLSLANG_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") + execute_process(COMMAND python3 "${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py" "${CMAKE_CURRENT_SOURCE_DIR}" "${SHADERC_SPIRV_TOOLS_DIR}" "${SHADERC_GLSLANG_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") if(MSVC) set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE) @@ -196,7 +177,7 @@ function(setup_component name parentName) ) list(APPEND cmake_args ${cmake_extra}) - if(NOT ("${name}" STREQUAL "Vulkan-Loader")) + if(NOT ("${name}" STREQUAL "Vulkan-Loader") AND MSVC) list(APPEND cmake_args -DCMAKE_DEBUG_POSTFIX=d) endif() message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]") From b74c6edd0dfd9be1a1d425be291fba8cfff2bc4c Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 11:34:00 +0100 Subject: [PATCH 098/100] cleanup --- CMakeLists.txt | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89d4c8ea..fe4e2ef4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,19 +101,10 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[ message(STATUS "======================== SHADERC PATCH ========================") -# message(STATUS "glslang_SOURCE_DIR "../../SPIRV-Tools-preficx") set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers" CACHE FILEPATH "" FORCE) set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang" CACHE FILEPATH "" FORCE) set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE FILEPATH "" FORCE) - function(ls_path path) - if(WIN32) - execute_process(COMMAND powershell "-c" "ls ${path}") - else() - execute_process(COMMAND bash "-c" "ls ${path}") - endif() - endfunction(ls_path path) - execute_process(COMMAND python3 "${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py" "${CMAKE_CURRENT_SOURCE_DIR}" "${SHADERC_SPIRV_TOOLS_DIR}" "${SHADERC_GLSLANG_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc") if(MSVC) @@ -129,14 +120,7 @@ if(VULKAN_SDK_COMPONENTS MATCHES "shaderc") ]====]) - # set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i -e \'52a include(${CMAKE_BINARY_DIR}/shaderc_util_patch.cmake)\' libshaderc_util/CMakeLists.txt && sed \'\'") set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt") - # set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools) - - ls_path(".") - ls_path("..") - ls_path("...") - endif() @@ -178,8 +162,9 @@ function(setup_component name parentName) list(APPEND cmake_args ${cmake_extra}) if(NOT ("${name}" STREQUAL "Vulkan-Loader") AND MSVC) - list(APPEND cmake_args -DCMAKE_DEBUG_POSTFIX=d) + list(APPEND cmake_args -DCMAKE_DEBUG_POSTFIX=d) # Only want debug postfix on windows since debug libs are seperate. use in shaderc endif() + message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]") ExternalProject_Add("${name}" GIT_REPOSITORY "${url}" From 5c02a5a77853d8e0106f1a4f8e33971b35c5a26e Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 12:40:23 +0100 Subject: [PATCH 099/100] update action --- action.yml | 7 +- cmake/glslang/CMakeLists.txt | 141 ------------------------------- cmake/spirv-tools/CMakeLists.txt | 41 --------- 3 files changed, 1 insertion(+), 188 deletions(-) delete mode 100644 cmake/glslang/CMakeLists.txt delete mode 100644 cmake/spirv-tools/CMakeLists.txt diff --git a/action.yml b/action.yml index 654598f1..8d62f169 100644 --- a/action.yml +++ b/action.yml @@ -29,11 +29,6 @@ runs: steps: - uses: humbletim/vsdevenv-shell@e87fcf2359929606ba32db358baef5ede4737aed - # - name: Setup tmate session - # uses: mxschmitt/action-tmate@v3.9 - # with: - # limit-access-to-actor: true - - name: Resolve Vulkan SDK Configuration shell: bash run: | @@ -156,5 +151,5 @@ runs: echo VULKAN_SDK_VERSION=${VULKAN_SDK_VERSION} ) | tee -a $GITHUB_ENV echo ${VULKAN_SDK}/bin | tee -a $GITHUB_PATH - # rm -rf $PWD/_vulkan_build + rm -rf $PWD/_vulkan_build du -hs ${VULKAN_SDK} diff --git a/cmake/glslang/CMakeLists.txt b/cmake/glslang/CMakeLists.txt deleted file mode 100644 index 054304ec..00000000 --- a/cmake/glslang/CMakeLists.txt +++ /dev/null @@ -1,141 +0,0 @@ -include(FindPackageHandleStandardArgs) -include(SelectLibraryConfigurations) - -# RELEASE -find_library(GLSLANG_LIBRARY_RELEASE NAMES glslang HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(OGLCOMPILER_LIBRARY_RELEASE NAMES OGLCompiler HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(OSDEPENDENT_LIBRARY_RELEASE NAMES OSDependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(GENERICCODEGEN_LIBRARY_RELEASE NAMES GenericCodeGen HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(MACHINEINDEPENDENT_LIBRARY_RELEASE NAMES MachineIndependent HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(HLSL_LIBRARY_RELEASE NAMES HLSL HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(SPIRV_LIBRARY_RELEASE NAMES SPIRV HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_library(SPVREMAPPER_LIBRARY_RELEASE NAMES SPVRemapper HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -# DEBUG -find_library(GLSLANG_LIBRARY_DEBUG NAMES glslangd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(OGLCOMPILER_LIBRARY_DEBUG NAMES OGLCompilerd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(OSDEPENDENT_LIBRARY_DEBUG NAMES OSDependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_LIBRARY_DEBUG NAMES SPIRVd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) -find_library(GENERICCODEGEN_LIBRARY_DEBUG NAMES GenericCodeGend HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(MACHINEINDEPENDENT_LIBRARY_DEBUG NAMES MachineIndependentd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(HLSL_LIBRARY_DEBUG NAMES HLSLd PATH_SUFFIXES HINTS ${CMAKE_INSTALL_PREFIX} DEBUG/lib) -find_library(SPVREMAPPER_LIBRARY_DEBUG NAMES SPVRemapperd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_path(GLSLANG_INCLUDE_DIR NAMES glslang/Public/ShaderLang.h HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES include) -find_path(SPIRV_INCLUDE_DIR NAMES SPIRV/spirv.hpp HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/glslang PATH_SUFFIXES include) -find_program(GLSLANG_VALIDATOR_EXE NAMES glslangValidator HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES bin) - -select_library_configurations(GLSLANG) -select_library_configurations(OGLCOMPILER) -select_library_configurations(OSDEPENDENT) -select_library_configurations(SPIRV) -select_library_configurations(HLSL) -select_library_configurations(GENERICCODEGEN) -select_library_configurations(MACHINEINDEPENDENT) -select_library_configurations(SPVREMAPPER) - -find_package_handle_standard_args( - glslang - DEFAULT_MSG - GLSLANG_LIBRARY - OGLCOMPILER_LIBRARY - OSDEPENDENT_LIBRARY - SPIRV_TOOLS_OPT_LIBRARY - SPIRV_LIBRARY - HLSL_LIBRARY - GLSLANG_INCLUDE_DIR - SPIRV_INCLUDE_DIR - ) - -find_package(Threads) - -add_library(OGLCompiler STATIC IMPORTED GLOBAL) -set_property(TARGET OGLCompiler APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - OGLCompiler - PROPERTIES - IMPORTED_LOCATION ${OGLCOMPILER_LIBRARY} -) - -target_link_libraries(OGLCompiler INTERFACE Threads::Threads) - -add_library(OSDependent STATIC IMPORTED GLOBAL) -set_property(TARGET OSDependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - OSDependent - PROPERTIES - IMPORTED_LOCATION ${OSDEPENDENT_LIBRARY} -) - -target_link_libraries(OSDependent INTERFACE Threads::Threads) - -add_library(HLSL STATIC IMPORTED GLOBAL) -set_property(TARGET HLSL APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - HLSL - PROPERTIES - IMPORTED_LOCATION ${HLSL_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -) - -add_library(GenericCodeGen STATIC IMPORTED GLOBAL) -set_property(TARGET GenericCodeGen APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - GenericCodeGen - PROPERTIES - IMPORTED_LOCATION ${GENERICCODEGEN_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -) - -add_library(MachineIndependent STATIC IMPORTED GLOBAL) -set_property(TARGET MachineIndependent APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - MachineIndependent - PROPERTIES - IMPORTED_LOCATION ${MACHINEINDEPENDENT_LIBRARY} - INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include/glslang -) - -target_link_libraries(MachineIndependent INTERFACE OGLCompiler OSDependent GenericCodeGen) - -add_library(glslang STATIC IMPORTED GLOBAL) -set_property(TARGET glslang APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - glslang - PROPERTIES - IMPORTED_LOCATION ${GLSLANG_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${GLSLANG_INCLUDE_DIR}" -) - -target_link_directories(glslang - INTERFACE ${CMAKE_INSTALL_PREFIX}/include - INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - INTERFACE ${GLSLANG_INCLUDE_DIR}) - -target_link_libraries(glslang INTERFACE HLSL OSDependent OGLCompiler GenericCodeGen MachineIndependent SPIRV-Tools SPIRV-Tools-opt) - -add_library(SPIRV STATIC IMPORTED) -set_property(TARGET SPIRV APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - SPIRV - PROPERTIES - IMPORTED_LOCATION ${SPIRV_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/include;${CMAKE_INSTALL_PREFIX}/include/glslang;${SPIRV_INCLUDE_DIR}" -) - -target_link_directories(SPIRV - INTERFACE ${CMAKE_INSTALL_PREFIX}/include - INTERFACE ${CMAKE_INSTALL_PREFIX}/include/glslang - INTERFACE ${SPIRV_INCLUDE_DIR}) - -target_link_libraries(SPIRV INTERFACE MachineIndependent SPIRV-Tools SPIRV-Tools-opt) - -add_executable(glslangValidator IMPORTED GLOBAL) -set_target_properties(glslangValidator PROPERTIES IMPORTED_LOCATION ${GLSLANG_VALIDATOR_EXE}) - - - # include(CMakeFindDependencyMacro) - - # find_dependency(Threads) - - # foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV) - # include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) - # endforeach() diff --git a/cmake/spirv-tools/CMakeLists.txt b/cmake/spirv-tools/CMakeLists.txt deleted file mode 100644 index 0a20291a..00000000 --- a/cmake/spirv-tools/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -include(FindPackageHandleStandardArgs) -include(SelectLibraryConfigurations) - -find_library(SPIRV_TOOLS_LIBRARY_DEBUG NAMES SPIRV-Toolsd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_TOOLS_LIBRARY_RELEASE NAMES SPIRV-Tools HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) -find_path(SPIRV_TOOLS_INCLUDE_DIR NAMES spirv-tools/libspirv.h HINTS ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/include/spirv-tools PATH_SUFFIXES include) -find_library(SPIRV_TOOLS_OPT_LIBRARY_DEBUG NAMES SPIRV-Tools-optd HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES DEBUG/lib) -find_library(SPIRV_TOOLS_OPT_LIBRARY_RELEASE NAMES SPIRV-Tools-opt HINTS ${CMAKE_INSTALL_PREFIX} PATH_SUFFIXES lib) - -select_library_configurations(SPIRV_TOOLS) -select_library_configurations(SPIRV_TOOLS_OPT) - -select_library_configurations(SPIRV_TOOLS) - -find_package_handle_standard_args( - SPIRV-Tools - DEFAULT_MSG - SPIRV_TOOLS_LIBRARY - SPIRV_TOOLS_OPT_LIBRARY - SPIRV_TOOLS_INCLUDE_DIR -) - -add_library(SPIRV-Tools STATIC IMPORTED GLOBAL ) -set_property(TARGET SPIRV-Tools APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( -SPIRV-Tools - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} -) - -set_target_properties(SPIRV-Tools PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} ) - -add_library(SPIRV-Tools-opt UNKNOWN IMPORTED GLOBAL) -set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY IMPORTED_CONFIGURATIONS "$<$:Debug>$<$:Release>") -set_target_properties( - SPIRV-Tools-opt - PROPERTIES - IMPORTED_LOCATION ${SPIRV_TOOLS_OPT_LIBRARY} - INCLUDE_DIRECTORIES ${SPIRV_TOOLS_INCLUDE_DIR} -) \ No newline at end of file From 219c9ef70d947d16112ca00a171666efac6dd275 Mon Sep 17 00:00:00 2001 From: Samuel Cobb Date: Mon, 29 Aug 2022 12:44:41 +0100 Subject: [PATCH 100/100] spelling --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe4e2ef4..4624a07c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -162,7 +162,7 @@ function(setup_component name parentName) list(APPEND cmake_args ${cmake_extra}) if(NOT ("${name}" STREQUAL "Vulkan-Loader") AND MSVC) - list(APPEND cmake_args -DCMAKE_DEBUG_POSTFIX=d) # Only want debug postfix on windows since debug libs are seperate. use in shaderc + list(APPEND cmake_args -DCMAKE_DEBUG_POSTFIX=d) # Only want debug postfix on windows since debug libs are seperate. used in shaderc endif() message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]")