[spirv-tools] Update to version 2020.1 (#10441)

* [spirv-headers] Update to version 1.5.1

* [spirv-tools] Update to version 2020.1

* [spirv-tools] Work around an import config typo

* [spirv-tools] Fix nitpicks

* [spirv-headers] Modernize port

* [spirv-tools] Fix directory name capitalization mismatch
This commit is contained in:
Henrik Gaßmann 2020-03-20 08:32:07 +01:00 committed by GitHub
parent 8b201cb43c
commit 0a64f3a1f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 82 additions and 123 deletions

View File

@ -1,3 +1,4 @@
Source: spirv-headers
Version: 2019-05-05
Version: 1.5.1
Homepage: https://github.com/KhronosGroup/SPIRV-Headers
Description: Machine-readable files for the SPIR-V Registry

View File

@ -1,18 +1,14 @@
# header-only library
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/SPIRV-Headers
REF c4f8f65792d4bf2657ca751904c511bbcf2ac77b
SHA512 750af53a70f6f890657735ab0e2db5ae3dd8d612480efc2247753993752f687e22a0bdd65296c5751daf284604fe3dc9ee0a94feae88761a0e64adc64e6d17a4
REF 1.5.1.corrected
SHA512 92447b1b1eca6f0253265f36d67b00c0c79e93f6a707e27bd8239bd2f693c468a92b7f7c3bb3fde6bb091383baaff42d3b0bbfeb9ff5f952d8a0b9626b03848e
HEAD_REF master
)
# This must be spirv as other spirv packages expect it there.
# Copy header files
file(COPY ${SOURCE_PATH}/include/spirv/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/spirv)
file(COPY "${SOURCE_PATH}/include/spirv/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/spirv")
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/spirv-headers)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/spirv-headers/LICENSE ${CURRENT_PACKAGES_DIR}/share/spirv-headers/copyright)
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,91 +0,0 @@
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index 1f96018..c9a3758 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -337,7 +337,7 @@ spvtools_pch(SPIRV_SOURCES pch_source)
add_library(${SPIRV_TOOLS} ${SPIRV_SOURCES})
spvtools_default_compile_options(${SPIRV_TOOLS})
target_include_directories(${SPIRV_TOOLS}
- PUBLIC ${spirv-tools_SOURCE_DIR}/include
+ PUBLIC "$<BUILD_INTERFACE:${spirv-tools_SOURCE_DIR}/include>"
PRIVATE ${spirv-tools_BINARY_DIR}
PRIVATE ${SPIRV_HEADER_INCLUDE_DIR}
)
@@ -370,10 +370,20 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
endif()
if(ENABLE_SPIRV_TOOLS_INSTALL)
- install(TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared
+ install(TARGETS ${SPIRV_TOOLS} EXPORT spirv-tools-config
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ export(
+ TARGETS ${SPIRV_TOOLS}
+ NAMESPACE spirv-tools::
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-config.cmake"
+ )
+ install(
+ EXPORT spirv-tools-config
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/spirv-tools"
+ NAMESPACE spirv-tools::
+ )
endif(ENABLE_SPIRV_TOOLS_INSTALL)
if(MSVC)
diff --git a/source/link/CMakeLists.txt b/source/link/CMakeLists.txt
index 8ca4df3..ac0aa62 100644
--- a/source/link/CMakeLists.txt
+++ b/source/link/CMakeLists.txt
@@ -17,7 +17,7 @@ add_library(SPIRV-Tools-link
spvtools_default_compile_options(SPIRV-Tools-link)
target_include_directories(SPIRV-Tools-link
- PUBLIC ${spirv-tools_SOURCE_DIR}/include
+ PUBLIC "$<BUILD_INTERFACE:${spirv-tools_SOURCE_DIR}/include>"
PUBLIC ${SPIRV_HEADER_INCLUDE_DIR}
PRIVATE ${spirv-tools_BINARY_DIR}
)
@@ -29,8 +29,13 @@ set_property(TARGET SPIRV-Tools-link PROPERTY FOLDER "SPIRV-Tools libraries")
spvtools_check_symbol_exports(SPIRV-Tools-link)
if(ENABLE_SPIRV_TOOLS_INSTALL)
- install(TARGETS SPIRV-Tools-link
+ install(TARGETS SPIRV-Tools-link EXPORT spirv-tools-config
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ export(
+ TARGETS ${SPIRV_TOOLS}-link
+ NAMESPACE spirv-tools::
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-link-config.cmake"
+ )
endif(ENABLE_SPIRV_TOOLS_INSTALL)
diff --git a/source/opt/CMakeLists.txt b/source/opt/CMakeLists.txt
index b02485a..111ce3c 100644
--- a/source/opt/CMakeLists.txt
+++ b/source/opt/CMakeLists.txt
@@ -221,7 +221,7 @@ add_library(SPIRV-Tools-opt ${SPIRV_TOOLS_OPT_SOURCES})
spvtools_default_compile_options(SPIRV-Tools-opt)
target_include_directories(SPIRV-Tools-opt
- PUBLIC ${spirv-tools_SOURCE_DIR}/include
+ PUBLIC "$<BUILD_INTERFACE:${spirv-tools_SOURCE_DIR}/include>"
PUBLIC ${SPIRV_HEADER_INCLUDE_DIR}
PRIVATE ${spirv-tools_BINARY_DIR}
)
@@ -233,8 +233,13 @@ set_property(TARGET SPIRV-Tools-opt PROPERTY FOLDER "SPIRV-Tools libraries")
spvtools_check_symbol_exports(SPIRV-Tools-opt)
if(ENABLE_SPIRV_TOOLS_INSTALL)
- install(TARGETS SPIRV-Tools-opt
+ install(TARGETS SPIRV-Tools-opt EXPORT spirv-tools-config
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ export(
+ TARGETS ${SPIRV_TOOLS}-opt
+ NAMESPACE spirv-tools::
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-opt-config.cmake"
+ )
endif(ENABLE_SPIRV_TOOLS_INSTALL)

View File

@ -1,5 +1,5 @@
Source: spirv-tools
Version: 2019.3-dev-1
Version: 2020.1
Homepage: https://github.com/KhronosGroup/SPIRV-Tools
Description: API and commands for processing SPIR-V modules
Build-Depends: spirv-headers

View File

@ -0,0 +1,36 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ed56a8..66d1e66 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -210,15 +210,9 @@ else()
endif()
if(ENABLE_SPIRV_TOOLS_INSTALL)
- if(WIN32)
- macro(spvtools_config_package_dir TARGET PATH)
- set(${PATH} ${TARGET}/cmake)
- endmacro()
- else()
- macro(spvtools_config_package_dir TARGET PATH)
- set(${PATH} ${CMAKE_INSTALL_LIBDIR}/cmake/${TARGET})
- endmacro()
- endif()
+ macro(spvtools_config_package_dir TARGET PATH)
+ set(${PATH} ${CMAKE_INSTALL_DATADIR}/${TARGET})
+ endmacro()
macro(spvtools_generate_config_file TARGET)
file(WRITE ${CMAKE_BINARY_DIR}/${TARGET}Config.cmake
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index 4e7e10c..278e439 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -387,7 +387,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
endif()
if(ENABLE_SPIRV_TOOLS_INSTALL)
- install(TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared EXPORT ${SPIRV_TOOLS}Targets
+ install(TARGETS ${SPIRV_TOOLS} EXPORT ${SPIRV_TOOLS}Targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})

View File

@ -1,22 +1,22 @@
diff --git a/utils/generate_registry_tables.py b/utils/generate_registry_tables.py
index 8b1c3572..6ab28fe6 100644
index e662ba9..49f2718 100644
--- a/utils/generate_registry_tables.py
+++ b/utils/generate_registry_tables.py
@@ -16,7 +16,7 @@
from __future__ import print_function
@@ -14,7 +14,7 @@
# limitations under the License.
"""Generates the vendor tool table from the SPIR-V XML registry."""
-import distutils.dir_util
+#import distutils.dir_util
import os.path
import xml.etree.ElementTree
@@ -64,7 +64,7 @@ def main():
@@ -62,7 +62,7 @@ def main():
with open(args.xml) as xml_in:
registry = xml.etree.ElementTree.fromstring(xml_in.read())
- distutils.dir_util.mkpath(os.path.dirname(args.generator_output))
+ #distutils.dir_util.mkpath(os.path.dirname(args.generator_output))
print(generate_vendor_table(registry), file=open(args.generator_output, 'w'))
with open(args.generator_output, 'w') as f:
f.write(generate_vendor_table(registry))

View File

@ -0,0 +1,17 @@
diff --git a/source/reduce/CMakeLists.txt b/source/reduce/CMakeLists.txt
index 51e9b1d..90b1cb7 100644
--- a/source/reduce/CMakeLists.txt
+++ b/source/reduce/CMakeLists.txt
@@ -96,10 +96,10 @@ if(ENABLE_SPIRV_TOOLS_INSTALL)
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- export(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTarget.cmake)
+ export(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTargets.cmake)
spvtools_config_package_dir(SPIRV-Tools-reduce PACKAGE_DIR)
- install(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTarget.cmake
+ install(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTargets.cmake
DESTINATION ${PACKAGE_DIR})
spvtools_generate_config_file(SPIRV-Tools-reduce)

View File

@ -1,15 +1,15 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/SPIRV-Tools
REF d0a1f5a05a2b0f8315e5b3f17b8e34c730861b31
SHA512 7179751b0216368b4a4bf8c9b0c1c1e3b17d6aa4788b4aeaa7fbb2b6d9d50b34cf209082f3531a2e0994b5fc02416373666d4d12cee282cec2c3d02c13a640a8
REF v2020.1
SHA512 edd434e06cba44c402900684b8fea16c394f80951ff993b3962617a21630d2d8ff9be9a5203bc8eb9b402e9cafe8c68f13099cbc1eaf66a546df08cb43668c46
PATCHES
comment-distutils.patch
CMake-targets.patch
cmake-install.patch
install-config-typo.patch
)
vcpkg_find_acquire_program(PYTHON3)
@ -22,19 +22,19 @@ vcpkg_configure_cmake(
OPTIONS
-DSPIRV-Headers_SOURCE_DIR=${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}
-DSPIRV_WERROR=OFF
-DENABLE_SPIRV_TOOLS_INSTALL=ON
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools TARGET_PATH share/SPIRV-Tools) # the directory name is capitalized as opposed to the package name
vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools-link TARGET_PATH share/SPIRV-Tools-link)
vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools-opt TARGET_PATH share/SPIRV-Tools-opt)
vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools-reduce TARGET_PATH share/SPIRV-Tools-reduce)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*${CMAKE_EXECUTABLE_SUFFIX}")
file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
file(REMOVE ${EXES})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") # only static linkage, i.e. no need to preserve .dll/.so files
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools")
file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/spirv-tools)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/spirv-tools/LICENSE ${CURRENT_PACKAGES_DIR}/share/spirv-tools/copyright)
vcpkg_test_cmake(PACKAGE_NAME spirv-tools)
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)