aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/meshoptimizer
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/meshoptimizer
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/meshoptimizer')
-rw-r--r--vcpkg/ports/meshoptimizer/dependencies.diff29
-rw-r--r--vcpkg/ports/meshoptimizer/portfile.cmake36
-rw-r--r--vcpkg/ports/meshoptimizer/vcpkg.json27
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"
+ ]
+ }
+ }
+}