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/rply | |
Diffstat (limited to 'vcpkg/ports/rply')
| -rw-r--r-- | vcpkg/ports/rply/CMakeLists.txt | 60 | ||||
| -rw-r--r-- | vcpkg/ports/rply/fix-uninitialized-local-variable.patch | 22 | ||||
| -rw-r--r-- | vcpkg/ports/rply/portfile.cmake | 31 | ||||
| -rw-r--r-- | vcpkg/ports/rply/rply-config.cmake.in | 8 | ||||
| -rw-r--r-- | vcpkg/ports/rply/rply.def | 28 | ||||
| -rw-r--r-- | vcpkg/ports/rply/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/rply/vcpkg.json | 18 |
7 files changed, 171 insertions, 0 deletions
diff --git a/vcpkg/ports/rply/CMakeLists.txt b/vcpkg/ports/rply/CMakeLists.txt new file mode 100644 index 0000000..04331d5 --- /dev/null +++ b/vcpkg/ports/rply/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required (VERSION 3.14)
+project ("rply")
+set (target_name ${CMAKE_PROJECT_NAME})
+set (target_include_prefix "rply")
+
+option (BUILD_SHARED_LIBS "Create ${target_name} as a shared library" ON)
+
+set (CMAKE_DEBUG_POSTFIX "d" CACHE STRING "postfix for debug lib")
+
+include (GNUInstallDirs)
+
+file (GLOB target_headers "*.h")
+file (GLOB target_srcs "*.c" )
+
+if (MSVC)
+ set(sources_msvc "rply.def")
+endif()
+
+add_library (${target_name} ${target_srcs} ${target_headers} ${sources_msvc})
+
+target_include_directories (${target_name}
+ PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${target_name}>
+)
+
+set_target_properties(${target_name} PROPERTIES
+ C_STANDARD 11
+)
+
+if (MSVC)
+ target_compile_definitions(${target_name} PRIVATE _CRT_SECURE_NO_WARNINGS)
+ set_target_properties(${target_name} PROPERTIES
+ VS_DEBUGGER_WORKING_DIRECTORY $<TARGET_FILE_DIR:${target_name}>
+ )
+ set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${target_name})
+endif()
+
+install (TARGETS ${target_name} EXPORT ${target_name}-targets
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
+
+install (FILES ${target_headers}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${target_name}"
+ CONFIGURATIONS Release
+)
+
+install (EXPORT ${target_name}-targets
+ FILE ${target_name}-targets.cmake
+ NAMESPACE ${target_name}::
+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${target_name}"
+)
+
+configure_file(${target_name}-config.cmake.in "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${target_name}-config.cmake" @ONLY)
+
+install(FILES
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${target_name}-config.cmake"
+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${target_name}"
+)
diff --git a/vcpkg/ports/rply/fix-uninitialized-local-variable.patch b/vcpkg/ports/rply/fix-uninitialized-local-variable.patch new file mode 100644 index 0000000..f23ad84 --- /dev/null +++ b/vcpkg/ports/rply/fix-uninitialized-local-variable.patch @@ -0,0 +1,22 @@ +diff --git a/rply.c b/rply.c +index c4105ef..7c7e72a 100644 +--- a/rply.c ++++ b/rply.c +@@ -372,7 +372,7 @@ p_ply ply_open(const char *name, p_ply_error_cb error_cb, + + p_ply ply_open_from_file(FILE *fp, p_ply_error_cb error_cb, + long idata, void *pdata) { +- p_ply ply; ++ p_ply ply = NULL; + if (error_cb == NULL) error_cb = ply_error_cb; + assert(fp); + if (!ply_type_check()) { +@@ -475,7 +475,7 @@ p_ply ply_create(const char *name, e_ply_storage_mode storage_mode, + + p_ply ply_create_to_file(FILE *fp, e_ply_storage_mode storage_mode, + p_ply_error_cb error_cb, long idata, void *pdata) { +- p_ply ply; ++ p_ply ply = NULL; + assert(fp && storage_mode <= PLY_DEFAULT); + if (!ply_type_check()) { + error_cb(ply, "Incompatible type system"); diff --git a/vcpkg/ports/rply/portfile.cmake b/vcpkg/ports/rply/portfile.cmake new file mode 100644 index 0000000..968d881 --- /dev/null +++ b/vcpkg/ports/rply/portfile.cmake @@ -0,0 +1,31 @@ +
+set(VERSION 1.1.4)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://w3.impa.br/~diego/software/rply/rply-${VERSION}.tar.gz"
+ FILENAME "rply-${VERSION}.tar.gz"
+ SHA512 be389780b8ca74658433f271682d91e89709ced588c4012c152ccf4014557692a1afd37b1bd5e567cedf9c412d42721eb0412ff3331f38717e527bd5d29c27a7
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ SOURCE_BASE "${VERSION}"
+ PATCHES
+ fix-uninitialized-local-variable.patch
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/rply.def" DESTINATION "${SOURCE_PATH}")
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/rply-config.cmake.in" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup()
+
+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/rply/rply-config.cmake.in b/vcpkg/ports/rply/rply-config.cmake.in new file mode 100644 index 0000000..3030342 --- /dev/null +++ b/vcpkg/ports/rply/rply-config.cmake.in @@ -0,0 +1,8 @@ +get_filename_component(_RPLY_PREFIX_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY) +set (_TARGET_NAME "rply") + +# IMPORTED targets +include("${_RPLY_PREFIX_DIR}/${_TARGET_NAME}-targets.cmake") + +set(_RPLY_PREFIX_DIR) +set(_TARGET_NAME) diff --git a/vcpkg/ports/rply/rply.def b/vcpkg/ports/rply/rply.def new file mode 100644 index 0000000..8662c24 --- /dev/null +++ b/vcpkg/ports/rply/rply.def @@ -0,0 +1,28 @@ +EXPORTS + ply_get_ply_user_data + ply_open + ply_read_header + ply_set_read_cb + ply_get_argument_element + ply_get_argument_property + ply_get_argument_user_data + ply_get_argument_value + ply_read + ply_get_next_element + ply_get_next_comment + ply_get_next_obj_info + ply_get_element_info + ply_get_next_property + ply_get_property_info + ply_create + ply_add_element + ply_add_property + ply_add_list_property + ply_add_scalar_property + ply_add_comment + ply_add_obj_info + ply_write_header + ply_write + ply_close + ply_open_from_file + ply_create_to_file diff --git a/vcpkg/ports/rply/usage b/vcpkg/ports/rply/usage new file mode 100644 index 0000000..8a48246 --- /dev/null +++ b/vcpkg/ports/rply/usage @@ -0,0 +1,4 @@ +The rply port provides an unofficial CMake target: + + find_package(rply REQUIRED) + target_link_libraries(main PRIVATE rply::rply) diff --git a/vcpkg/ports/rply/vcpkg.json b/vcpkg/ports/rply/vcpkg.json new file mode 100644 index 0000000..87cc0b9 --- /dev/null +++ b/vcpkg/ports/rply/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "rply", + "version": "1.1.4", + "port-version": 4, + "description": "ANSI C Library for PLY file format input and output", + "homepage": "http://w3.impa.br/~diego/software/rply", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |