aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Gaßmann <BurningEnlightenment@users.noreply.github.com>2020-03-20 08:32:07 +0100
committerGitHub <noreply@github.com>2020-03-20 00:32:07 -0700
commit0a64f3a1f6868f70cfbee038c2646d10085d0caf (patch)
tree0ac56459a571b0e70ade2bc0408955c92b381dce
parent8b201cb43c5bb1fd976e1deac2154b0ab64c5e10 (diff)
downloadvcpkg-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/CONTROL3
-rw-r--r--ports/spirv-headers/portfile.cmake12
-rw-r--r--ports/spirv-tools/CMake-targets.patch91
-rw-r--r--ports/spirv-tools/CONTROL2
-rw-r--r--ports/spirv-tools/cmake-install.patch36
-rw-r--r--ports/spirv-tools/comment-distutils.patch14
-rw-r--r--ports/spirv-tools/install-config-typo.patch17
-rw-r--r--ports/spirv-tools/portfile.cmake34
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)