diff options
| author | Henrik Gaßmann <BurningEnlightenment@users.noreply.github.com> | 2020-03-20 08:32:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-20 00:32:07 -0700 |
| commit | 0a64f3a1f6868f70cfbee038c2646d10085d0caf (patch) | |
| tree | 0ac56459a571b0e70ade2bc0408955c92b381dce | |
| parent | 8b201cb43c5bb1fd976e1deac2154b0ab64c5e10 (diff) | |
| download | vcpkg-0a64f3a1f6868f70cfbee038c2646d10085d0caf.tar.gz vcpkg-0a64f3a1f6868f70cfbee038c2646d10085d0caf.zip | |
[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
| -rw-r--r-- | ports/spirv-headers/CONTROL | 3 | ||||
| -rw-r--r-- | ports/spirv-headers/portfile.cmake | 12 | ||||
| -rw-r--r-- | ports/spirv-tools/CMake-targets.patch | 91 | ||||
| -rw-r--r-- | ports/spirv-tools/CONTROL | 2 | ||||
| -rw-r--r-- | ports/spirv-tools/cmake-install.patch | 36 | ||||
| -rw-r--r-- | ports/spirv-tools/comment-distutils.patch | 14 | ||||
| -rw-r--r-- | ports/spirv-tools/install-config-typo.patch | 17 | ||||
| -rw-r--r-- | ports/spirv-tools/portfile.cmake | 34 |
8 files changed, 84 insertions, 125 deletions
diff --git a/ports/spirv-headers/CONTROL b/ports/spirv-headers/CONTROL index be9ef4392..8a6051d13 100644 --- a/ports/spirv-headers/CONTROL +++ b/ports/spirv-headers/CONTROL @@ -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 diff --git a/ports/spirv-headers/portfile.cmake b/ports/spirv-headers/portfile.cmake index e5191639d..d94e16484 100644 --- a/ports/spirv-headers/portfile.cmake +++ b/ports/spirv-headers/portfile.cmake @@ -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) diff --git a/ports/spirv-tools/CMake-targets.patch b/ports/spirv-tools/CMake-targets.patch deleted file mode 100644 index d3870f8c8..000000000 --- a/ports/spirv-tools/CMake-targets.patch +++ /dev/null @@ -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) diff --git a/ports/spirv-tools/CONTROL b/ports/spirv-tools/CONTROL index 154783ca2..a075b87c5 100644 --- a/ports/spirv-tools/CONTROL +++ b/ports/spirv-tools/CONTROL @@ -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
\ No newline at end of file diff --git a/ports/spirv-tools/cmake-install.patch b/ports/spirv-tools/cmake-install.patch new file mode 100644 index 000000000..ce5992c89 --- /dev/null +++ b/ports/spirv-tools/cmake-install.patch @@ -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})
diff --git a/ports/spirv-tools/comment-distutils.patch b/ports/spirv-tools/comment-distutils.patch index 2426f82ba..1ec4e9dcb 100644 --- a/ports/spirv-tools/comment-distutils.patch +++ b/ports/spirv-tools/comment-distutils.patch @@ -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))
diff --git a/ports/spirv-tools/install-config-typo.patch b/ports/spirv-tools/install-config-typo.patch new file mode 100644 index 000000000..c356f4b52 --- /dev/null +++ b/ports/spirv-tools/install-config-typo.patch @@ -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)
diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake index 59cf97591..4741a206f 100644 --- a/ports/spirv-tools/portfile.cmake +++ b/ports/spirv-tools/portfile.cmake @@ -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() - -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) - -# 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) +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/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}") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) |
