[tre] Initial port

This commit is contained in:
clvn 2018-01-12 12:24:02 +01:00
parent 6bdc3bf9eb
commit d7cd72e396
3 changed files with 66 additions and 0 deletions

37
ports/tre/CMakeLists.txt Normal file
View File

@ -0,0 +1,37 @@
cmake_minimum_required (VERSION 3.9)
project (tre)
set (HEADERS
lib/regex.h
include/tre/tre.h
include/tre/tre-config.h
)
set (SRCS
lib/regcomp.c
lib/regerror.c
lib/regexec.c
lib/tre-ast.c
lib/tre-compile.c
lib/tre-match-approx.c
lib/tre-match-backtrack.c
lib/tre-match-parallel.c
lib/tre-mem.c
lib/tre-parse.c
lib/tre-stack.c
lib/xmalloc.c
win32/tre.def
)
include_directories(win32 include/tre)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONFIG_H)
add_library(tre ${SRCS})
install(
TARGETS tre
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
install(FILES ${HEADERS} DESTINATION include/tre)

3
ports/tre/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: tre
Version: 0.8.0-1
Description: TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching.

26
ports/tre/portfile.cmake Normal file
View File

@ -0,0 +1,26 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO laurikari/tre
REF 6fb7206b935b35814c5078c20046dbe065435363
SHA512 f1d664719eab23b665d71e34ca3d11f8ba49da23ff20dc28f46d4ce30fe155c12208ba7fd212dbeb20a7037e069909f0c2120ce1fc01074656399805e3289a90
HEAD_REF master
)
file(READ ${SOURCE_PATH}/win32/config.h CONFIG_H)
string(REPLACE "#define snprintf sprintf_s" "" CONFIG_H ${CONFIG_H})
file(WRITE ${SOURCE_PATH}/win32/config.h "${CONFIG_H}")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tre RENAME copyright)