aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/uvatlas
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/uvatlas')
-rw-r--r--vcpkg/ports/uvatlas/portfile.cmake64
-rw-r--r--vcpkg/ports/uvatlas/usage4
-rw-r--r--vcpkg/ports/uvatlas/vcpkg.json54
3 files changed, 122 insertions, 0 deletions
diff --git a/vcpkg/ports/uvatlas/portfile.cmake b/vcpkg/ports/uvatlas/portfile.cmake
new file mode 100644
index 0000000..fd635a2
--- /dev/null
+++ b/vcpkg/ports/uvatlas/portfile.cmake
@@ -0,0 +1,64 @@
+set(UVATLAS_TAG oct2025)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/UVAtlas
+ REF ${UVATLAS_TAG}
+ SHA512 fab41c955944f1ca39d23e08e7d9addd04f018a26aba393b74d6e6631403d369b1134395e514b02f90ef70a21fbef0c2550e246575206b6b389af7182e052f8f
+ HEAD_REF main
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ eigen ENABLE_USE_EIGEN
+ spectre ENABLE_SPECTRE_MITIGATION
+ tools BUILD_TOOLS
+)
+
+if (VCPKG_HOST_IS_LINUX)
+ message(WARNING "Build ${PORT} requires GCC version 9 or later")
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_cmake_install()
+vcpkg_fixup_pkgconfig()
+vcpkg_cmake_config_fixup(CONFIG_PATH share/uvatlas)
+
+if("tools" IN_LIST FEATURES)
+
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/uvatlas/")
+
+ if((VCPKG_TARGET_ARCHITECTURE STREQUAL x64) AND (NOT ("eigen" IN_LIST FEATURES)))
+
+ vcpkg_download_distfile(
+ UVATLASTOOL_EXE
+ URLS "https://github.com/Microsoft/UVAtlas/releases/download/${UVATLAS_TAG}/uvatlastool.exe"
+ FILENAME "uvatlastool-${UVATLAS_TAG}.exe"
+ SHA512 f751a4b26388a582aa80a4491a58b7b65b78ebd0607f824e15a1deff8239d96c934f6ebe06537d4cfe3e0a5280f16d28c801db0bce1125fb315d861d96d7c47e
+ )
+
+ file(INSTALL
+ "${UVATLASTOOL_EXE}"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/tools/uvatlas/")
+
+ file(RENAME "${CURRENT_PACKAGES_DIR}/tools/uvatlas/uvatlastool-${UVATLAS_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/uvatlas/uvatlastool.exe")
+
+ else()
+
+ vcpkg_copy_tools(
+ TOOL_NAMES uvatlastool
+ SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin"
+ )
+
+ endif()
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/uvatlas/usage b/vcpkg/ports/uvatlas/usage
new file mode 100644
index 0000000..a5fb208
--- /dev/null
+++ b/vcpkg/ports/uvatlas/usage
@@ -0,0 +1,4 @@
+The UVAtlas package provides CMake targets:
+
+ find_package(uvatlas CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Microsoft::UVAtlas)
diff --git a/vcpkg/ports/uvatlas/vcpkg.json b/vcpkg/ports/uvatlas/vcpkg.json
new file mode 100644
index 0000000..c434fbe
--- /dev/null
+++ b/vcpkg/ports/uvatlas/vcpkg.json
@@ -0,0 +1,54 @@
+{
+ "name": "uvatlas",
+ "version-date": "2025-10-28",
+ "description": "UVAtlas isochart texture atlas",
+ "homepage": "https://github.com/Microsoft/UVAtlas",
+ "documentation": "https://github.com/Microsoft/UVAtlas/wiki",
+ "license": "MIT",
+ "supports": "(windows & !arm32) | linux",
+ "dependencies": [
+ {
+ "name": "directx-headers",
+ "platform": "mingw | linux"
+ },
+ "directxmath",
+ {
+ "name": "ms-gdkx",
+ "platform": "xbox"
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "eigen": {
+ "description": "Use Eigen & Spectra for eigen-value computations",
+ "dependencies": [
+ "eigen3",
+ "spectra"
+ ]
+ },
+ "spectre": {
+ "description": "Build Spectre-mitigated library"
+ },
+ "tools": {
+ "description": "uvatlas command-line tool",
+ "supports": "windows & !uwp & !xbox",
+ "dependencies": [
+ {
+ "name": "directxmesh",
+ "default-features": false
+ },
+ {
+ "name": "directxtex",
+ "default-features": false
+ }
+ ]
+ }
+ }
+}