diff options
Diffstat (limited to 'vcpkg/ports/draco')
| -rw-r--r-- | vcpkg/ports/draco/disable-symlinks.patch | 29 | ||||
| -rw-r--r-- | vcpkg/ports/draco/fix-compile-error-uwp.patch | 29 | ||||
| -rw-r--r-- | vcpkg/ports/draco/fix-pkgconfig.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/draco/fix-uwperror.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/draco/install-linkage.diff | 19 | ||||
| -rw-r--r-- | vcpkg/ports/draco/portfile.cmake | 39 | ||||
| -rw-r--r-- | vcpkg/ports/draco/vcpkg.json | 17 |
7 files changed, 159 insertions, 0 deletions
diff --git a/vcpkg/ports/draco/disable-symlinks.patch b/vcpkg/ports/draco/disable-symlinks.patch new file mode 100644 index 0000000..df39449 --- /dev/null +++ b/vcpkg/ports/draco/disable-symlinks.patch @@ -0,0 +1,29 @@ +diff --git a/cmake/draco_targets.cmake b/cmake/draco_targets.cmake
+index c8c79f5..1cec5b8 100644
+--- a/cmake/draco_targets.cmake
++++ b/cmake/draco_targets.cmake
+@@ -111,9 +111,6 @@ macro(draco_add_executable)
+
+ target_compile_features(${exe_NAME} PUBLIC cxx_std_11)
+
+- if(NOT EMSCRIPTEN)
+- set_target_properties(${exe_NAME} PROPERTIES VERSION ${DRACO_VERSION})
+- endif()
+
+ if(exe_OUTPUT_NAME)
+ set_target_properties(${exe_NAME} PROPERTIES OUTPUT_NAME ${exe_OUTPUT_NAME})
+@@ -364,14 +361,6 @@ macro(draco_add_library)
+ set_target_properties(${lib_NAME} PROPERTIES PREFIX "")
+ endif()
+
+- if(NOT EMSCRIPTEN)
+- # VERSION and SOVERSION as necessary
+- if((lib_TYPE STREQUAL BUNDLE OR lib_TYPE STREQUAL SHARED) AND NOT MSVC)
+- set_target_properties(
+- ${lib_NAME} PROPERTIES VERSION ${DRACO_SOVERSION}
+- SOVERSION ${DRACO_SOVERSION_MAJOR})
+- endif()
+- endif()
+
+ if(BUILD_SHARED_LIBS AND (MSVC OR WIN32))
+ if(lib_TYPE STREQUAL SHARED)
diff --git a/vcpkg/ports/draco/fix-compile-error-uwp.patch b/vcpkg/ports/draco/fix-compile-error-uwp.patch new file mode 100644 index 0000000..ca68cb5 --- /dev/null +++ b/vcpkg/ports/draco/fix-compile-error-uwp.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a93267d..3a3ccf7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -85,6 +85,9 @@ draco_set_cxx_flags() + draco_set_exe_linker_flags() + draco_generate_features_h() + ++if (MSVC) ++ add_compile_options(/wd4996) ++endif() + # Draco source file listing variables. + list( + APPEND draco_attributes_sources +diff --git a/src/draco/io/parser_utils.cc b/src/draco/io/parser_utils.cc +index 378de73..be7e032 100644 +--- a/src/draco/io/parser_utils.cc ++++ b/src/draco/io/parser_utils.cc +@@ -152,7 +152,9 @@ bool ParseSignedInt(DecoderBuffer *buffer, int32_t *value) { + if (!ParseUnsignedInt(buffer, &v)) { + return false; + } +- *value = (sign < 0) ? -v : v; ++ if (sign < 0) ++ v *= -1; ++ *value = v; + return true; + } + diff --git a/vcpkg/ports/draco/fix-pkgconfig.patch b/vcpkg/ports/draco/fix-pkgconfig.patch new file mode 100644 index 0000000..b4e3f21 --- /dev/null +++ b/vcpkg/ports/draco/fix-pkgconfig.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/draco.pc.template b/cmake/draco.pc.template +index 050219c..2886bfc 100644 +--- a/cmake/draco.pc.template ++++ b/cmake/draco.pc.template +@@ -1,6 +1,6 @@ + Name: @PROJECT_NAME@ + Description: Draco geometry de(com)pression library. + Version: @DRACO_VERSION@ +-Cflags: -I@includes_path@ +-Libs: -L@libs_path@ -ldraco ++Cflags: -I@CMAKE_INSTALL_FULL_INCLUDEDIR@ ++Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -ldraco + Libs.private: @CMAKE_THREAD_LIBS_INIT@ diff --git a/vcpkg/ports/draco/fix-uwperror.patch b/vcpkg/ports/draco/fix-uwperror.patch new file mode 100644 index 0000000..54e2cc9 --- /dev/null +++ b/vcpkg/ports/draco/fix-uwperror.patch @@ -0,0 +1,13 @@ +diff --git a/src/draco/core/bit_utils.h b/src/draco/core/bit_utils.h +index a102095..b6ba69b 100644 +--- a/src/draco/core/bit_utils.h ++++ b/src/draco/core/bit_utils.h +@@ -27,6 +27,8 @@ + #include <intrin.h> + #endif // defined(_MSC_VER) + ++#pragma warning(disable:4146) ++ + namespace draco { + + // Returns the number of '1' bits within the input 32 bit integer. diff --git a/vcpkg/ports/draco/install-linkage.diff b/vcpkg/ports/draco/install-linkage.diff new file mode 100644 index 0000000..c34a60f --- /dev/null +++ b/vcpkg/ports/draco/install-linkage.diff @@ -0,0 +1,19 @@ +diff --git a/cmake/draco_install.cmake b/cmake/draco_install.cmake +index 3be1ba1..b91938c 100644 +--- a/cmake/draco_install.cmake ++++ b/cmake/draco_install.cmake +@@ -65,10 +65,14 @@ macro(draco_setup_install_target) + ARCHIVE DESTINATION "${libs_path}" + LIBRARY DESTINATION "${libs_path}") + else() ++ if(BUILD_SHARED_LIBS) ++ set_target_properties(draco_static PROPERTIES EXCLUDE_FROM_ALL 1) ++ else() + install( + TARGETS draco_static + EXPORT dracoExport + DESTINATION "${libs_path}") ++ endif() + + if(BUILD_SHARED_LIBS) + install( diff --git a/vcpkg/ports/draco/portfile.cmake b/vcpkg/ports/draco/portfile.cmake new file mode 100644 index 0000000..82c5eb5 --- /dev/null +++ b/vcpkg/ports/draco/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/draco + REF "${VERSION}" + SHA512 8b444744cdf12fb9d276916eb2ff0735cd1a6497b65b88813ec457fe2169db987db62e3db253a7d0f3ae7d45ae6502e8a9f8c0b81abde73e07b3bec69f9dc170 + HEAD_REF master + PATCHES + fix-compile-error-uwp.patch + fix-uwperror.patch + fix-pkgconfig.patch + disable-symlinks.patch + install-linkage.diff +) + +if(VCPKG_TARGET_IS_EMSCRIPTEN) + set(ENV{EMSCRIPTEN} "${EMSCRIPTEN_ROOT}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPYTHON_EXECUTABLE=: # unused with DRACO_JS_GLUE off + -DDRACO_JS_GLUE=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/draco) +vcpkg_fixup_pkgconfig() + +# Install tools and plugins +if(NOT VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_copy_tools(TOOL_NAMES draco_encoder draco_decoder AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/draco/vcpkg.json b/vcpkg/ports/draco/vcpkg.json new file mode 100644 index 0000000..d248165 --- /dev/null +++ b/vcpkg/ports/draco/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "draco", + "version": "1.5.7", + "description": " A library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.", + "homepage": "https://github.com/google/draco", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |