diff --git a/ports/meshoptimizer/dependencies.diff b/ports/meshoptimizer/dependencies.diff new file mode 100644 index 0000000000..68381f5d49 --- /dev/null +++ b/ports/meshoptimizer/dependencies.diff @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8ca03ab..af7eb9d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,6 +147,11 @@ if(MESHOPT_BUILD_GLTFPACK) + target_compile_definitions(gltfpack PRIVATE WITH_BASISU) + target_link_libraries(gltfpack basisu_encoder) + set_source_files_properties(gltf/encodebasis.cpp PROPERTIES INCLUDE_DIRECTORIES ${BASISU_PATH}) # necessary because basisu_encoder doesn't export include directories ++ else() ++ find_package(basisu CONFIG REQUIRED) ++ find_package(Threads REQUIRED) # cf. further down ++ target_compile_definitions(gltfpack PRIVATE WITH_BASISU) ++ target_link_libraries(gltfpack basisu::basisu_encoder Threads::Threads) + endif() + + if(NOT MESHOPT_GLTFPACK_LIBWEBP_PATH STREQUAL "") +diff --git a/gltf/encodebasis.cpp b/gltf/encodebasis.cpp +index 73cd962..74abf1b 100644 +--- a/gltf/encodebasis.cpp ++++ b/gltf/encodebasis.cpp +@@ -22,7 +22,7 @@ + #pragma GCC diagnostic ignored "-Wc++17-extensions" + #endif + +-#include "encoder/basisu_comp.h" ++#include "basisu/encoder/basisu_comp.h" + + struct BasisSettings + { diff --git a/ports/meshoptimizer/portfile.cmake b/ports/meshoptimizer/portfile.cmake index 65a53c7ab1..b0c4512b17 100644 --- a/ports/meshoptimizer/portfile.cmake +++ b/ports/meshoptimizer/portfile.cmake @@ -4,25 +4,13 @@ vcpkg_from_github( REF v${VERSION} SHA512 c00f2357c9c8d17804047c3c678f253bf13aa467b1dadc099a7958787e1725c501bd92a7837494d4831dd7c3428bbeb92353b70fd45ec71e88d753036318ab2f HEAD_REF master + PATCHES + dependencies.diff ) -# If we want basisu support in gltfpack we need a particular fork of basisu -# We could modify this to support using the vcpkg version of basisu -# but since this is only necessary for the gltfpack tool and not for the -# meshopt lib it shouldn't be too nasty to just grab this repo -if ("gltfpack" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH BASISU_PATH - REPO zeux/basis_universal - REF 6588a8a443f8ca1f0abb56ee4f46be10be1b2a2c - SHA512 a59e44d4406dde88b42718335be11a9bb0e07acaec955200b7f439151be01fa9e5321fa2ae1fe27173bbf76a3bd70ceca2f8bd4d0377b602aed6a75704cdcc73 - HEAD_REF gltfpack - ) -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES - gltfpack MESHOPT_BUILD_GLTFPACK + FEATURES + gltfpack MESHOPT_BUILD_GLTFPACK ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) @@ -30,22 +18,19 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${FEATURE_OPTIONS} - -DMESHOPT_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} - "-DMESHOPT_GLTFPACK_BASISU_PATH=${BASISU_PATH}" + ${FEATURE_OPTIONS} + -DMESHOPT_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + OPTIONS_DEBUG + -DMESHOPT_BUILD_GLTFPACK=OFF # tool ) - vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/meshoptimizer) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/meshoptimizer) - if ("gltfpack" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES gltfpack AUTO_CLEAN) + vcpkg_copy_tools(TOOL_NAMES gltfpack AUTO_CLEAN) endif() -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/meshoptimizer/vcpkg.json b/ports/meshoptimizer/vcpkg.json index 2535ab3487..bdf1b8a108 100644 --- a/ports/meshoptimizer/vcpkg.json +++ b/ports/meshoptimizer/vcpkg.json @@ -1,7 +1,7 @@ { "name": "meshoptimizer", "version": "0.25", - "port-version": 1, + "port-version": 2, "description": "Mesh optimization library that makes meshes smaller and faster to render", "homepage": "https://github.com/zeux/meshoptimizer", "license": "MIT", @@ -18,7 +18,10 @@ "features": { "gltfpack": { "description": "Build gltfpack tool", - "supports": "!uwp & !(windows & arm)" + "supports": "!uwp", + "dependencies": [ + "basisu" + ] } } } diff --git a/versions/baseline.json b/versions/baseline.json index 851be83c06..db64f57c70 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6306,7 +6306,7 @@ }, "meshoptimizer": { "baseline": "0.25", - "port-version": 1 + "port-version": 2 }, "metis": { "baseline": "2025-07-04", diff --git a/versions/m-/meshoptimizer.json b/versions/m-/meshoptimizer.json index 86a0780fa4..31b9339abc 100644 --- a/versions/m-/meshoptimizer.json +++ b/versions/m-/meshoptimizer.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "08c97855caa4657942f28dcb14a895271a1a1446", + "version": "0.25", + "port-version": 2 + }, { "git-tree": "c1ecef53362f7644a96e68390aec9e6f27cb7a6d", "version": "0.25",