diff --git a/ports/hikogui/portfile.cmake b/ports/hikogui/portfile.cmake index ad82c5ab39..8a9da44e8c 100644 --- a/ports/hikogui/portfile.cmake +++ b/ports/hikogui/portfile.cmake @@ -7,6 +7,8 @@ vcpkg_from_github( HEAD_REF main ) +set(ENV{VULKAN_SDK} "${CURRENT_INSTALLED_DIR}") + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS diff --git a/ports/hikogui/vcpkg.json b/ports/hikogui/vcpkg.json index 402a7003f7..31679e9317 100644 --- a/ports/hikogui/vcpkg.json +++ b/ports/hikogui/vcpkg.json @@ -1,12 +1,19 @@ { "name": "hikogui", "version": "0.8.1", + "port-version": 1, "maintainers": "@takev", "description": "A portable, low latency, retained-mode GUI framework written in C++.", "homepage": "https://github.com/hikogui/hikogui", "license": "BSL-1.0", "supports": "windows & x64", "dependencies": [ + { + "name": "glslang", + "features": [ + "tools" + ] + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/lunarg-vulkantools/portfile.cmake b/ports/lunarg-vulkantools/portfile.cmake new file mode 100644 index 0000000000..357c8aaa0f --- /dev/null +++ b/ports/lunarg-vulkantools/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LunarG/VulkanTools + REF "vulkan-sdk-${VERSION}" + SHA512 83be64eccb2841de4ae67f3936b6dd4433cdbd2b604329914a8bc43c1f7fc6dd2dba0eaf2f9527b231c6d54d3d390d79defc6de228baff5cba1add8c5ad6d9cd + HEAD_REF main +) + +vcpkg_replace_string("${SOURCE_PATH}/via/CMakeLists.txt" "jsoncpp_static" "JsonCpp::JsonCpp") + +x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES jsonschema OUT_PYTHON_VAR PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVULKAN_HEADERS_INSTALL_DIR=${CURRENT_INSTALLED_DIR} + -DBUILD_TESTS:BOOL=OFF + OPTIONS_RELEASE + -DVULKAN_LOADER_INSTALL_DIR=${CURRENT_INSTALLED_DIR} + OPTIONS_DEBUG + -DVULKAN_LOADER_INSTALL_DIR=${CURRENT_INSTALLED_DIR}/debug + +) +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +vcpkg_copy_tools(TOOL_NAMES vkvia vkconfig AUTO_CLEAN ) + +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + diff --git a/ports/lunarg-vulkantools/vcpkg.json b/ports/lunarg-vulkantools/vcpkg.json new file mode 100644 index 0000000000..ef7d606b9f --- /dev/null +++ b/ports/lunarg-vulkantools/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "lunarg-vulkantools", + "version": "1.3.268.0", + "description": "Vulkan header files and API registry", + "homepage": "https://github.com/KhronosGroup/Vulkan-Headers", + "license": null, + "supports": "!osx", + "dependencies": [ + "jsoncpp", + "qt5-base", + "valijson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, + "vulkan-loader", + "vulkan-utility-libraries" + ] +} diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake index e177784fe7..25fb8e52b4 100644 --- a/ports/spirv-cross/portfile.cmake +++ b/ports/spirv-cross/portfile.cmake @@ -3,13 +3,13 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Cross - REF 2021-01-15 - SHA512 f934ef61602223f6fe6d9c826ed5beb129beb7a30b18b389625d4fc0b1efa1b8df930a2a2d2a0b4f377ef2899e8e034239819a4c6629a78c666f72004464da93 + REF vulkan-sdk-${VERSION} + SHA512 27cf3c1455c0edeba0a494ef7c8f23d3b22e3427ac7ce0681d3c15c8f1510cf449054a98793e6d3f3bbe7c6ef92f0203bb50b93f806e02676727a2cf38233547 HEAD_REF master ) if(VCPKG_TARGET_IS_IOS) - message(STATUS "Using iOS trplet. Executables won't be created...") + message(STATUS "Using iOS triplet. Executables won't be created...") set(BUILD_CLI OFF) else() set(BUILD_CLI ON) @@ -25,6 +25,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() foreach(COMPONENT core c cpp glsl hlsl msl reflect util) vcpkg_cmake_config_fixup(CONFIG_PATH share/spirv_cross_${COMPONENT}/cmake PACKAGE_NAME spirv_cross_${COMPONENT}) @@ -39,4 +40,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" ) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/spirv-cross/vcpkg.json b/ports/spirv-cross/vcpkg.json index dc05fe0589..e7413219b8 100644 --- a/ports/spirv-cross/vcpkg.json +++ b/ports/spirv-cross/vcpkg.json @@ -1,7 +1,6 @@ { "name": "spirv-cross", - "version-date": "2021-01-15", - "port-version": 2, + "version": "1.3.268.0", "description": "SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.", "homepage": "https://github.com/KhronosGroup/SPIRV-Cross", "dependencies": [ diff --git a/ports/spirv-headers/portfile.cmake b/ports/spirv-headers/portfile.cmake index d280ecc01d..df8090a8ef 100644 --- a/ports/spirv-headers/portfile.cmake +++ b/ports/spirv-headers/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Headers - REF "sdk-${VERSION}" - SHA512 436c6ce11d918091ce4a5ef2821f51af811c9a289e220b4a2b0bb4417b1f9f3b1f56a6366cfdf56848a9b1fb612ee3ba31d35c3d73d3d24de964ee05f96a7bbc + REF "vulkan-sdk-${VERSION}" + SHA512 3500c299a51dacc3e89066cfcfa8762cb6bc1be10ffff492fb3041831627e065cd836e3e0165df750dd22873a1772d916158e1e1c4701dc60efbb2edb17753ca HEAD_REF master ) diff --git a/ports/spirv-headers/vcpkg.json b/ports/spirv-headers/vcpkg.json index b69a2cf1f6..838e69aa66 100644 --- a/ports/spirv-headers/vcpkg.json +++ b/ports/spirv-headers/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spirv-headers", - "version": "1.3.246.1", + "version": "1.3.268.0", "description": "Machine-readable files for the SPIR-V Registry", "homepage": "https://github.com/KhronosGroup/SPIRV-Headers", "dependencies": [ diff --git a/ports/spirv-reflect/CMakeLists.txt b/ports/spirv-reflect/CMakeLists.txt deleted file mode 100644 index a76d065772..0000000000 --- a/ports/spirv-reflect/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(spirv-reflect) - -set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -find_package(SPIRV-Headers REQUIRED) - -add_library(spirv-reflect ${CMAKE_CURRENT_SOURCE_DIR}/spirv_reflect.h - ${CMAKE_CURRENT_SOURCE_DIR}/spirv_reflect.c) -if (SPIRV_REFLECT_ENABLE_ASSERTS) - target_compile_definitions(spirv-reflect PRIVATE SPIRV_REFLECT_ENABLE_ASSERTS) -endif() -set_target_properties(spirv-reflect PROPERTIES CXX_STANDARD 11) -if(WIN32) - target_compile_definitions(spirv-reflect PRIVATE _CRT_SECURE_NO_WARNINGS) -endif() -target_link_libraries(spirv-reflect PUBLIC SPIRV-Headers::SPIRV-Headers) -target_compile_definitions(spirv-reflect PUBLIC SPIRV_REFLECT_USE_SYSTEM_SPIRV_H) - -target_include_directories(spirv-reflect INTERFACE $) - -set(config_file ${CMAKE_CURRENT_BINARY_DIR}/unofficial-spirv-reflect-config.cmake) -set(targets unofficial-spirv-reflect-targets) - -file(WRITE ${config_file} -"include(CMakeFindDependencyMacro) -find_dependency(SPIRV-Headers) -include(\${CMAKE_CURRENT_LIST_DIR}/${targets}.cmake)") - -install(FILES ${config_file} DESTINATION share/unofficial-spirv-reflect) - -install( - TARGETS spirv-reflect EXPORT ${targets} - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -) - -install( - EXPORT ${targets} - NAMESPACE unofficial::spirv-reflect:: - DESTINATION share/unofficial-spirv-reflect -) - -install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/spirv_reflect.h" DESTINATION include) diff --git a/ports/spirv-reflect/portfile.cmake b/ports/spirv-reflect/portfile.cmake index ee877ecabc..a54bb56795 100644 --- a/ports/spirv-reflect/portfile.cmake +++ b/ports/spirv-reflect/portfile.cmake @@ -3,15 +3,14 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Reflect - REF sdk-1.3.236.0 - SHA512 8ee0b88e46feac0ece478c6584e0ceb96b2ac976c2d1dc5813e0e26b20de8fa0264499cc9eea973bb3dd9a6877a421d00557f0fef7e323926df1db314373ea90 + REF "vulkan-sdk-${VERSION}" + SHA512 fdc6d6fe707d21296c5c0a84388e8b9c687945264fb602e286e5ba399ac674e68bc89b25f4bb0a3fc4d59deb2dafe5fbe3e07b59162c420c25c9e923f3220849 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DSPIRV_REFLECT_STATIC_LIB=ON ) vcpkg_cmake_install() @@ -19,4 +18,8 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/spirv-reflect" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +vcpkg_copy_tools(TOOL_NAMES spirv-reflect-pp spirv-reflect AUTO_CLEAN) diff --git a/ports/spirv-reflect/vcpkg.json b/ports/spirv-reflect/vcpkg.json index 2a118298f2..6f427ed4d1 100644 --- a/ports/spirv-reflect/vcpkg.json +++ b/ports/spirv-reflect/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spirv-reflect", - "version": "1.3.236.0", + "version": "1.3.268.0", "description": "SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications.", "homepage": "https://github.com/KhronosGroup/SPIRV-Reflect", "license": "Apache-2.0", diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake index 8e50dfbeff..27477af40a 100644 --- a/ports/spirv-tools/portfile.cmake +++ b/ports/spirv-tools/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Tools - REF "v${VERSION}" - SHA512 988f5e31508e3f19c1dd9d9a013c8e9ff89eba86207a769d7d804f9ee0201c794f412a874c860167b2c040b2c5e1fb1c835ae3684c70feaac86e47f90c1a5010 + REF "vulkan-sdk-${VERSION}" + SHA512 317ce91ae229efddb98028840fbb6c9000c6a09aace2f04c2f59fdeb3a73b8fdb75048bf5a2189135a734a30b1ead57dc7dc5fcfd70a7267d17c743238a19899 PATCHES cmake-config-dir.diff spirv-tools-shared.diff diff --git a/ports/spirv-tools/vcpkg.json b/ports/spirv-tools/vcpkg.json index 79e525a05f..7ee6157345 100644 --- a/ports/spirv-tools/vcpkg.json +++ b/ports/spirv-tools/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spirv-tools", - "version": "2023.2", + "version": "1.3.268.0", "description": "API and commands for processing SPIR-V modules", "homepage": "https://github.com/KhronosGroup/SPIRV-Tools", "license": "Apache-2.0", diff --git a/ports/vsgxchange/portfile.cmake b/ports/vsgxchange/portfile.cmake index cc617fd399..0c556a19a0 100644 --- a/ports/vsgxchange/portfile.cmake +++ b/ports/vsgxchange/portfile.cmake @@ -28,6 +28,10 @@ vcpkg_copy_pdbs() vcpkg_copy_tools(TOOL_NAMES vsgconv AUTO_CLEAN) file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/vsgconvd${VCPKG_TARGET_EXECUTABLE_SUFFIX}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/vsgxchange/vcpkg.json b/ports/vsgxchange/vcpkg.json index c8ad67528c..a058aeea4b 100644 --- a/ports/vsgxchange/vcpkg.json +++ b/ports/vsgxchange/vcpkg.json @@ -1,6 +1,7 @@ { "name": "vsgxchange", "version": "1.0.5", + "port-version": 1, "description": "Utility library for converting 3rd party images, models and fonts formats to/from VulkanSceneGraph.", "homepage": "https://github.com/vsg-dev/vsgXchange", "license": "MIT", diff --git a/ports/vulkan-headers/portfile.cmake b/ports/vulkan-headers/portfile.cmake index 39a1529e33..97dc2d2b13 100644 --- a/ports/vulkan-headers/portfile.cmake +++ b/ports/vulkan-headers/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/Vulkan-Headers - REF "v${VERSION}" - SHA512 afd3a617fdd83d3e11559b4530e249dea4dbed66a44aba4fe1a39af2220ddcb8c45e49eaa087bbd62454709015b659eccfcdd6c3ad7950a2a7b1b674cf65e957 + REF "vulkan-sdk-${VERSION}" + SHA512 adab4c97050aeb396445cd5352e4252b74d2a02856ffd369caa0df50ba544b8b8ab9e1630f30ce73c56751c987e2435263214547457b8ca9430c5ad2dadaabaf HEAD_REF main ) @@ -10,5 +10,6 @@ set(VCPKG_BUILD_TYPE release) # header-only port vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/vulkan-headers/vcpkg.json b/ports/vulkan-headers/vcpkg.json index 749f793fba..797dce26b4 100644 --- a/ports/vulkan-headers/vcpkg.json +++ b/ports/vulkan-headers/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vulkan-headers", - "version": "1.3.260", + "version": "1.3.268.0", "description": "Vulkan header files and API registry", "homepage": "https://github.com/KhronosGroup/Vulkan-Headers", "license": "Apache-2.0 OR MIT", diff --git a/ports/vulkan-loader/portfile.cmake b/ports/vulkan-loader/portfile.cmake new file mode 100644 index 0000000000..bb90293f91 --- /dev/null +++ b/ports/vulkan-loader/portfile.cmake @@ -0,0 +1,24 @@ +set(VCPKG_LIBRARY_LINKAGE dynamic) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-Loader + REF "vulkan-sdk-${VERSION}" + SHA512 15a326480e8d47f35a5e0c08ac915e047c90f2b99e8b6ac483bc1835e5b8bf2fd759b6fbf61dae9f89103e91067e60ff5f1817ce6aebecf95529bcc6d1326e66 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/VulkanLoader" PACKAGE_NAME VulkanLoader) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/vulkan-loader/usage b/ports/vulkan-loader/usage new file mode 100644 index 0000000000..a260c301a7 --- /dev/null +++ b/ports/vulkan-loader/usage @@ -0,0 +1,2 @@ +The package @PORT@ provides the vulkan loader. +Please be aware of https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#bundling-the-loader-with-an-application diff --git a/ports/vulkan-loader/vcpkg.json b/ports/vulkan-loader/vcpkg.json new file mode 100644 index 0000000000..46d4226328 --- /dev/null +++ b/ports/vulkan-loader/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vulkan-loader", + "version": "1.3.268.0", + "description": "Vulkan Development Tools", + "homepage": "https://github.com/KhronosGroup/Vulkan-Loader", + "license": null, + "supports": "!android", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers" + ] +} diff --git a/ports/vulkan-memory-allocator/portfile.cmake b/ports/vulkan-memory-allocator/portfile.cmake index c17a430cca..93b1ecb579 100644 --- a/ports/vulkan-memory-allocator/portfile.cmake +++ b/ports/vulkan-memory-allocator/portfile.cmake @@ -6,8 +6,17 @@ vcpkg_from_github( HEAD_REF master ) +set(opts "") +if(VCPKG_TARGET_IS_WINDOWS) + set(opts "-DCMAKE_INSTALL_INCLUDEDIR=include/vma") # Vulkan SDK layout! +endif() + set(VCPKG_BUILD_TYPE release) # header-only port -vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${opts} + +) vcpkg_cmake_install() vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/vulkan-memory-allocator/vcpkg.json b/ports/vulkan-memory-allocator/vcpkg.json index 380521ab5a..6aed8f35f6 100644 --- a/ports/vulkan-memory-allocator/vcpkg.json +++ b/ports/vulkan-memory-allocator/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vulkan-memory-allocator", "version": "3.0.1", - "port-version": 3, + "port-version": 4, "description": "Easy to integrate Vulkan memory allocation library from GPUOpen", "homepage": "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator", "license": "MIT", diff --git a/ports/vulkan-tools/portfile.cmake b/ports/vulkan-tools/portfile.cmake new file mode 100644 index 0000000000..18f49802c1 --- /dev/null +++ b/ports/vulkan-tools/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-Tools + REF "vulkan-sdk-${VERSION}" + SHA512 9359e9528bfe507870bd83f9e8860b3d82555c0d8a6a19284f150dd2288b204f2c9dc9b3f62be4efbbb5e2983862459b2131de126a603cc5531ef8df72f4458f + HEAD_REF main +) + +set(VCPKG_BUILD_TYPE release) # only builds tools + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +vcpkg_copy_tools(TOOL_NAMES vkcube vkcubepp vulkaninfo AUTO_CLEAN ) + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/vulkan-tools/vcpkg.json b/ports/vulkan-tools/vcpkg.json new file mode 100644 index 0000000000..b3d45f988c --- /dev/null +++ b/ports/vulkan-tools/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "vulkan-tools", + "version": "1.3.268.0", + "description": "Vulkan Development Tools", + "homepage": "https://github.com/KhronosGroup/Vulkan-Tools", + "license": "Apache-2.0", + "supports": "!osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "volk", + "vulkan-headers", + "vulkan-loader" + ] +} diff --git a/ports/vulkan-utility-libraries/portfile.cmake b/ports/vulkan-utility-libraries/portfile.cmake new file mode 100644 index 0000000000..98db474827 --- /dev/null +++ b/ports/vulkan-utility-libraries/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-Utility-Libraries + REF "vulkan-sdk-${VERSION}" + SHA512 4bcb3f5f9a1567427675c5186a04c9d152b791989aaaba5f43a46cc8db7a8ab08626d5f9a101234b595fe283aa493655e26a521c17cf28752d30437d896fce40 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/VulkanUtilityLibraries PACKAGE_NAME VulkanUtilityLibraries) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/vulkan-utility-libraries/vcpkg.json b/ports/vulkan-utility-libraries/vcpkg.json new file mode 100644 index 0000000000..70c054eef6 --- /dev/null +++ b/ports/vulkan-utility-libraries/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vulkan-utility-libraries", + "version": "1.3.268.0", + "description": "Utility libraries for Vulkan developers", + "homepage": "https://github.com/KhronosGroup/Vulkan-Utility-Libraries", + "license": null, + "supports": "!android", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers" + ] +} diff --git a/ports/vulkan-validationlayers/portfile.cmake b/ports/vulkan-validationlayers/portfile.cmake new file mode 100644 index 0000000000..bad363fbd4 --- /dev/null +++ b/ports/vulkan-validationlayers/portfile.cmake @@ -0,0 +1,33 @@ +set(VCPKG_LIBRARY_LINKAGE dynamic) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-ValidationLayers + REF "vulkan-sdk-${VERSION}" + SHA512 74282cede73f67ee39ab78b99cd53f78ac0427ec6ca897ec41eb28b0e2d1106006d688bfbfdb2f0924b84149d516d42b1abe3680cdc6019c66457451f19b44dd + HEAD_REF main +) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +set(layer_path "/bin") +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(layer_path "/share/vulkan/explicit_layer.d") +endif() +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/vulkan-validationlayers/usage b/ports/vulkan-validationlayers/usage new file mode 100644 index 0000000000..d74b33490f --- /dev/null +++ b/ports/vulkan-validationlayers/usage @@ -0,0 +1,2 @@ +The package @PORT@ provides the vulkan validationlayers. +To make vulkan use them you have to manually add the vcpkg path "@layer_path@" to the environment variable VK_ADD_LAYER_PATH. \ No newline at end of file diff --git a/ports/vulkan-validationlayers/vcpkg.json b/ports/vulkan-validationlayers/vcpkg.json new file mode 100644 index 0000000000..b24f81aba9 --- /dev/null +++ b/ports/vulkan-validationlayers/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "vulkan-validationlayers", + "version": "1.3.268.0", + "description": "Vulkan Validation Layers (VVL)", + "homepage": "https://github.com/KhronosGroup/Vulkan-ValidationLayers", + "license": null, + "dependencies": [ + "mimalloc", + "robin-hood-hashing", + "spirv-cross", + "spirv-headers", + "spirv-reflect", + "spirv-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers", + "vulkan-utility-libraries" + ] +} diff --git a/ports/vulkan/portfile.cmake b/ports/vulkan/portfile.cmake index 6dc9e17b48..d48d9d0f8f 100644 --- a/ports/vulkan/portfile.cmake +++ b/ports/vulkan/portfile.cmake @@ -1,10 +1,5 @@ -# This package just verifies that the Vulkan SDK is installed. -set(VCPKG_BUILD_TYPE release) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -if(DEFINED ENV{VULKAN_SDK}) - message(STATUS "VULKAN_SDK environment variable: $ENV{VULKAN_SDK}") -endif() set(vulkan_result_file "${CURRENT_BUILDTREES_DIR}/vulkan-${TARGET_TRIPLET}.cmake.log") vcpkg_cmake_configure( diff --git a/ports/vulkan/vcpkg.json b/ports/vulkan/vcpkg.json index d44d80e841..a8cb3174e0 100644 --- a/ports/vulkan/vcpkg.json +++ b/ports/vulkan/vcpkg.json @@ -1,14 +1,48 @@ { + "$comment": "Dependencies extracted from e.g. https://sdk.lunarg.com/sdk/download/1.3.268.0/windows/config.json", "name": "vulkan", - "version": "1.1.82.1", - "port-version": 6, + "version": "1.3.268.0", "description": "A stub package that ensures that the Vulkan SDK is installed.", "license": null, "supports": "!uwp & !xbox", "dependencies": [ + { + "name": "directx-dxc", + "platform": "windows" + }, + "glm", + "glslang", + "jsoncpp", + { + "name": "mimalloc", + "platform": "windows" + }, + "robin-hood-hashing", + "sdl2", + "shaderc", + "spirv-cross", + "spirv-headers", + "valijson", { "name": "vcpkg-cmake", "host": true + }, + "volk", + "vulkan-headers", + "vulkan-loader", + "vulkan-memory-allocator", + "vulkan-utility-libraries", + "vulkan-validationlayers" + ], + "features": { + "tools": { + "description": "Build Vulkan related tools", + "dependencies": [ + "lunarg-vulkantools", + "spirv-reflect", + "spirv-tools", + "vulkan-tools" + ] } - ] + } } diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 9adcc1f1d3..08026e7c7f 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1193,17 +1193,6 @@ vowpal-wabbit:x64-android=fail vtk-m:arm-neon-android=fail vtk-m:arm64-android=fail vtk-m:x64-android=fail -vulkan:arm-neon-android=fail -vulkan:arm64-android=fail -vulkan:arm64-windows=fail -vulkan:x64-android=fail -vulkan:x64-linux=fail -vulkan:x64-osx=fail -vulkan:arm64-osx=fail -vulkan:x64-windows=fail -vulkan:x64-windows-static=fail -vulkan:x64-windows-static-md=fail -vulkan:x86-windows=fail # Conflicts with latest openjpeg port (vxl ships with an old version of openjpeg) # conflicts with qt5-location vxl:arm-neon-android=skip @@ -1346,3 +1335,4 @@ vcpkg-ci-wxwidgets:x64-windows-static-md=pass vcpkg-ci-wxwidgets:x64-windows-static=pass vcpkg-ci-wxwidgets:x64-windows=pass vcpkg-ci-wxwidgets:x86-windows=pass +vulkan-loader:x64-windows-static=fail diff --git a/versions/baseline.json b/versions/baseline.json index 254b7d3d21..c32604de4a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3334,7 +3334,7 @@ }, "hikogui": { "baseline": "0.8.1", - "port-version": 0 + "port-version": 1 }, "hiredis": { "baseline": "1.2.0", @@ -5344,6 +5344,10 @@ "baseline": "0.10.1", "port-version": 1 }, + "lunarg-vulkantools": { + "baseline": "1.3.268.0", + "port-version": 0 + }, "lunasvg": { "baseline": "2.3.8", "port-version": 1 @@ -8105,19 +8109,19 @@ "port-version": 3 }, "spirv-cross": { - "baseline": "2021-01-15", - "port-version": 2 + "baseline": "1.3.268.0", + "port-version": 0 }, "spirv-headers": { - "baseline": "1.3.246.1", + "baseline": "1.3.268.0", "port-version": 0 }, "spirv-reflect": { - "baseline": "1.3.236.0", + "baseline": "1.3.268.0", "port-version": 0 }, "spirv-tools": { - "baseline": "2023.2", + "baseline": "1.3.268.0", "port-version": 0 }, "spout2": { @@ -8946,7 +8950,7 @@ }, "vsgxchange": { "baseline": "1.0.5", - "port-version": 0 + "port-version": 1 }, "vtk": { "baseline": "9.2.0-pv5.11.0", @@ -8961,25 +8965,41 @@ "port-version": 2 }, "vulkan": { - "baseline": "1.1.82.1", - "port-version": 6 + "baseline": "1.3.268.0", + "port-version": 0 }, "vulkan-headers": { - "baseline": "1.3.260", + "baseline": "1.3.268.0", "port-version": 0 }, "vulkan-hpp": { "baseline": "deprecated", "port-version": 0 }, + "vulkan-loader": { + "baseline": "1.3.268.0", + "port-version": 0 + }, "vulkan-memory-allocator": { "baseline": "3.0.1", - "port-version": 3 + "port-version": 4 }, "vulkan-memory-allocator-hpp": { "baseline": "3.0.1.1", "port-version": 0 }, + "vulkan-tools": { + "baseline": "1.3.268.0", + "port-version": 0 + }, + "vulkan-utility-libraries": { + "baseline": "1.3.268.0", + "port-version": 0 + }, + "vulkan-validationlayers": { + "baseline": "1.3.268.0", + "port-version": 0 + }, "vvenc": { "baseline": "1.7.0", "port-version": 0 diff --git a/versions/h-/hikogui.json b/versions/h-/hikogui.json index f23b1bd3d5..bcf1b2c492 100644 --- a/versions/h-/hikogui.json +++ b/versions/h-/hikogui.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "89a94b29c6cf63fb3e99c979281751279f02031e", + "version": "0.8.1", + "port-version": 1 + }, { "git-tree": "92a9a5aedbc104981ec2fe41b097e8f2c65896f7", "version": "0.8.1", diff --git a/versions/l-/lunarg-vulkantools.json b/versions/l-/lunarg-vulkantools.json new file mode 100644 index 0000000000..9ab69a1797 --- /dev/null +++ b/versions/l-/lunarg-vulkantools.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f6b2a11e7bfefb0423ba878f8bbf6030c27f5c77", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/spirv-cross.json b/versions/s-/spirv-cross.json index 89d92c9502..49d6d921a6 100644 --- a/versions/s-/spirv-cross.json +++ b/versions/s-/spirv-cross.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8c3a9c2839a67379dfebc9e4f3df038359a8383c", + "version": "1.3.268.0", + "port-version": 0 + }, { "git-tree": "9adc9e1ab78dd956558b40aa39767262a251eca6", "version-date": "2021-01-15", diff --git a/versions/s-/spirv-headers.json b/versions/s-/spirv-headers.json index 645357860b..ab0e0e5ee8 100644 --- a/versions/s-/spirv-headers.json +++ b/versions/s-/spirv-headers.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a169757648a3ab575795f1d4b417d5c1e545fb81", + "version": "1.3.268.0", + "port-version": 0 + }, { "git-tree": "9745c8474cd0d67262164092fe7283b7ecb36914", "version": "1.3.246.1", diff --git a/versions/s-/spirv-reflect.json b/versions/s-/spirv-reflect.json index 7c6916c2ed..789f20e81c 100644 --- a/versions/s-/spirv-reflect.json +++ b/versions/s-/spirv-reflect.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "640aba022004347ac98e964b8a932dde3f677d5f", + "version": "1.3.268.0", + "port-version": 0 + }, { "git-tree": "e36ea589e8b33e978c90da2c33ee457cd948dfce", "version": "1.3.236.0", diff --git a/versions/s-/spirv-tools.json b/versions/s-/spirv-tools.json index cca863cb85..62ac967603 100644 --- a/versions/s-/spirv-tools.json +++ b/versions/s-/spirv-tools.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "73ef0c502cabbe79cfcef62b67ec352e8675c721", + "version": "1.3.268.0", + "port-version": 0 + }, { "git-tree": "47e4151499f10ce55584fc6818822bdc4a913353", "version": "2023.2", diff --git a/versions/v-/vsgxchange.json b/versions/v-/vsgxchange.json index e285a83e57..47a0ea99ad 100644 --- a/versions/v-/vsgxchange.json +++ b/versions/v-/vsgxchange.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "73b799a8d58def43da13c3642687cabbb917c630", + "version": "1.0.5", + "port-version": 1 + }, { "git-tree": "8a026d7763afb5ffa6081e9baf6de63a8d500790", "version": "1.0.5", diff --git a/versions/v-/vulkan-headers.json b/versions/v-/vulkan-headers.json index 15d0b5a134..8967e1c0fd 100644 --- a/versions/v-/vulkan-headers.json +++ b/versions/v-/vulkan-headers.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ffd9715c99bc1d2b115a27616e17319ab10d47d2", + "version": "1.3.268.0", + "port-version": 0 + }, { "git-tree": "4a67e5648f3203af599c115390d12fceb828b8fa", "version": "1.3.260", diff --git a/versions/v-/vulkan-loader.json b/versions/v-/vulkan-loader.json new file mode 100644 index 0000000000..c588b69c2c --- /dev/null +++ b/versions/v-/vulkan-loader.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "058ede4fd9458f7fc471ea3663e4e8e6f455f638", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-memory-allocator.json b/versions/v-/vulkan-memory-allocator.json index 1e1d981a34..657ffbef72 100644 --- a/versions/v-/vulkan-memory-allocator.json +++ b/versions/v-/vulkan-memory-allocator.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a687cd3066c8effcdec670ce92d389c36c217c14", + "version": "3.0.1", + "port-version": 4 + }, { "git-tree": "d57ebd5ba820e5d8a5f55d797199abe4734d5af8", "version": "3.0.1", diff --git a/versions/v-/vulkan-tools.json b/versions/v-/vulkan-tools.json new file mode 100644 index 0000000000..e417942467 --- /dev/null +++ b/versions/v-/vulkan-tools.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "720b109686183339d148fb303b53abfd128e9ec2", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-utility-libraries.json b/versions/v-/vulkan-utility-libraries.json new file mode 100644 index 0000000000..0f9febe89f --- /dev/null +++ b/versions/v-/vulkan-utility-libraries.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0849291de2e14ef941d30aef9a17e45547329e44", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-validationlayers.json b/versions/v-/vulkan-validationlayers.json new file mode 100644 index 0000000000..856fb40c54 --- /dev/null +++ b/versions/v-/vulkan-validationlayers.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "993862940154ca8e6692e31ad7387261566ca757", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan.json b/versions/v-/vulkan.json index 022bb1bc16..6f41769dcb 100644 --- a/versions/v-/vulkan.json +++ b/versions/v-/vulkan.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "27c107c7bd16ff68d2c9da45b0020713d4b2ea03", + "version": "1.3.268.0", + "port-version": 0 + }, { "git-tree": "ea62236a3c91051f5ccb340442b60a026bf160c6", "version": "1.1.82.1",