mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-23 02:57:09 +01:00
Merge pull request #9045 from ChaoJia/new-port-rply
[rply] Add new port
This commit is contained in:
commit
5fbfbaf2f4
59
ports/rply/CMakeLists.txt
Normal file
59
ports/rply/CMakeLists.txt
Normal file
@ -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}"
|
||||
)
|
4
ports/rply/CONTROL
Normal file
4
ports/rply/CONTROL
Normal file
@ -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
|
22
ports/rply/fix-uninitialized-local-variable.patch
Normal file
22
ports/rply/fix-uninitialized-local-variable.patch
Normal file
@ -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");
|
33
ports/rply/portfile.cmake
Normal file
33
ports/rply/portfile.cmake
Normal file
@ -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)
|
||||
|
8
ports/rply/rply-config.cmake.in
Normal file
8
ports/rply/rply-config.cmake.in
Normal file
@ -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)
|
28
ports/rply/rply.def
Normal file
28
ports/rply/rply.def
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user