diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/meshoptimizer | |
Diffstat (limited to 'vcpkg/ports/meshoptimizer')
| -rw-r--r-- | vcpkg/ports/meshoptimizer/dependencies.diff | 29 | ||||
| -rw-r--r-- | vcpkg/ports/meshoptimizer/portfile.cmake | 36 | ||||
| -rw-r--r-- | vcpkg/ports/meshoptimizer/vcpkg.json | 27 |
3 files changed, 92 insertions, 0 deletions
diff --git a/vcpkg/ports/meshoptimizer/dependencies.diff b/vcpkg/ports/meshoptimizer/dependencies.diff new file mode 100644 index 0000000..68381f5 --- /dev/null +++ b/vcpkg/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/vcpkg/ports/meshoptimizer/portfile.cmake b/vcpkg/ports/meshoptimizer/portfile.cmake new file mode 100644 index 0000000..b0c4512 --- /dev/null +++ b/vcpkg/ports/meshoptimizer/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zeux/meshoptimizer + REF v${VERSION} + SHA512 c00f2357c9c8d17804047c3c678f253bf13aa467b1dadc099a7958787e1725c501bd92a7837494d4831dd7c3428bbeb92353b70fd45ec71e88d753036318ab2f + HEAD_REF master + PATCHES + dependencies.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + gltfpack MESHOPT_BUILD_GLTFPACK +) + +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} + 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") + +if ("gltfpack" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES gltfpack AUTO_CLEAN) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/vcpkg/ports/meshoptimizer/vcpkg.json b/vcpkg/ports/meshoptimizer/vcpkg.json new file mode 100644 index 0000000..bdf1b8a --- /dev/null +++ b/vcpkg/ports/meshoptimizer/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "meshoptimizer", + "version": "0.25", + "port-version": 2, + "description": "Mesh optimization library that makes meshes smaller and faster to render", + "homepage": "https://github.com/zeux/meshoptimizer", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "gltfpack": { + "description": "Build gltfpack tool", + "supports": "!uwp", + "dependencies": [ + "basisu" + ] + } + } +} |