diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2020-02-06 15:17:16 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-06 15:17:16 -0800 |
| commit | 5fbfbaf2f43392a33d1651b31d13dd014b0b1752 (patch) | |
| tree | 4f4c91de9420529840da5ba352b1b199107c60c7 | |
| parent | abd170d8e502a0fe6cd55792f207b3aae369d37b (diff) | |
| parent | 3c84e1a8724daa7d3360a10e02994f269292d00a (diff) | |
| download | vcpkg-5fbfbaf2f43392a33d1651b31d13dd014b0b1752.tar.gz vcpkg-5fbfbaf2f43392a33d1651b31d13dd014b0b1752.zip | |
Merge pull request #9045 from ChaoJia/new-port-rply
[rply] Add new port
| -rw-r--r-- | ports/rply/CMakeLists.txt | 59 | ||||
| -rw-r--r-- | ports/rply/CONTROL | 4 | ||||
| -rw-r--r-- | ports/rply/fix-uninitialized-local-variable.patch | 22 | ||||
| -rw-r--r-- | ports/rply/portfile.cmake | 33 | ||||
| -rw-r--r-- | ports/rply/rply-config.cmake.in | 8 | ||||
| -rw-r--r-- | ports/rply/rply.def | 28 |
6 files changed, 154 insertions, 0 deletions
diff --git a/ports/rply/CMakeLists.txt b/ports/rply/CMakeLists.txt new file mode 100644 index 000000000..8885a79c4 --- /dev/null +++ b/ports/rply/CMakeLists.txt @@ -0,0 +1,59 @@ +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}>
+)
+
+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/ports/rply/CONTROL b/ports/rply/CONTROL new file mode 100644 index 000000000..0caedadfb --- /dev/null +++ b/ports/rply/CONTROL @@ -0,0 +1,4 @@ +Source: rply
+Version: 1.1.4
+Homepage: http://w3.impa.br/~diego/software/rply
+Description: ANSI C Library for PLY file format input and output
diff --git a/ports/rply/fix-uninitialized-local-variable.patch b/ports/rply/fix-uninitialized-local-variable.patch new file mode 100644 index 000000000..f23ad8450 --- /dev/null +++ b/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/ports/rply/portfile.cmake b/ports/rply/portfile.cmake new file mode 100644 index 000000000..665b9e300 --- /dev/null +++ b/ports/rply/portfile.cmake @@ -0,0 +1,33 @@ +
+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_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ REF ${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_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/rply RENAME copyright)
+
diff --git a/ports/rply/rply-config.cmake.in b/ports/rply/rply-config.cmake.in new file mode 100644 index 000000000..303034207 --- /dev/null +++ b/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/ports/rply/rply.def b/ports/rply/rply.def new file mode 100644 index 000000000..8662c2421 --- /dev/null +++ b/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 |
