early-access version 2853
This commit is contained in:
97
externals/vcpkg/ports/libdatrie/CMakeLists.txt
vendored
Executable file
97
externals/vcpkg/ports/libdatrie/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,97 @@
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
project(libdatrie LANGUAGES C)
|
||||
|
||||
option(SKIP_HEADERS "Skip headers" OFF)
|
||||
option(SKIP_TOOL "Skip tool" OFF)
|
||||
option(BUILD_SHARED_LIBS "Build shared libs" OFF)
|
||||
|
||||
set(LIB_SRCS
|
||||
datrie/alpha-map.c
|
||||
datrie/darray.c
|
||||
datrie/dstring.c
|
||||
datrie/fileutils.c
|
||||
datrie/tail.c
|
||||
datrie/trie.c
|
||||
datrie/trie-string.c
|
||||
)
|
||||
|
||||
set(LIB_HDRS
|
||||
datrie/alpha-map.h
|
||||
datrie/trie.h
|
||||
datrie/triedefs.h
|
||||
datrie/typedefs.h
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND LIB_SRCS datrie/libdatrie.def)
|
||||
endif()
|
||||
|
||||
include(CheckIncludeFile)
|
||||
include(CheckFunctionExists)
|
||||
|
||||
set(STDC_HEADERS 1)
|
||||
check_include_file(dlfcn.h HAVE_DLFCN_H)
|
||||
check_include_file(inttypes.h HAVE_INTTYPES_H)
|
||||
check_include_file(limits.h HAVE_LIMITS_H)
|
||||
check_include_file(memory.h HAVE_MEMORY_H)
|
||||
check_include_file(stdint.h HAVE_STDINT_H)
|
||||
check_include_file(stdio.h HAVE_STDIO_H)
|
||||
check_include_file(stdlib.h HAVE_STDLIB_H)
|
||||
check_include_file(strings.h HAVE_STRINGS_H)
|
||||
check_include_file(string.h HAVE_STRING_H)
|
||||
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
|
||||
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
|
||||
check_include_file(unistd.h HAVE_UNISTD_H)
|
||||
|
||||
check_function_exists(nl_langinfo HAVE_LANGINFO_CODESET)
|
||||
check_function_exists(locale_charset HAVE_LOCALE_CHARSET)
|
||||
check_function_exists(malloc HAVE_MALLOC)
|
||||
|
||||
configure_file(config.h.cmake config.h)
|
||||
|
||||
include_directories(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
|
||||
add_library(libdatrie ${LIB_SRCS})
|
||||
set_target_properties(libdatrie PROPERTIES OUTPUT_NAME "datrie")
|
||||
|
||||
if(MSVC)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
endif()
|
||||
|
||||
if (NOT SKIP_TOOL)
|
||||
add_executable(trietool "tools/trietool.c" )
|
||||
find_package(Iconv REQUIRED)
|
||||
target_link_libraries(trietool PRIVATE libdatrie Iconv::Iconv)
|
||||
install(
|
||||
TARGETS trietool
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
endif()
|
||||
|
||||
install(
|
||||
TARGETS libdatrie
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
)
|
||||
|
||||
if (NOT SKIP_HEADERS)
|
||||
install(
|
||||
FILES ${LIB_HDRS}
|
||||
DESTINATION "include/datrie"
|
||||
)
|
||||
endif()
|
||||
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(exec_prefix "\${prefix}")
|
||||
set(libdir "\${prefix}/lib")
|
||||
set(includedir "\${prefix}/include")
|
||||
configure_file(datrie-0.2.pc.in datrie-0.2.pc)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/datrie-0.2.pc"
|
||||
DESTINATION "lib/pkgconfig"
|
||||
)
|
||||
87
externals/vcpkg/ports/libdatrie/config.h.cmake
vendored
Executable file
87
externals/vcpkg/ports/libdatrie/config.h.cmake
vendored
Executable file
@@ -0,0 +1,87 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#cmakedefine HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#cmakedefine HAVE_INTTYPES_H
|
||||
|
||||
/* Have nl_langinfo (CODESET) */
|
||||
#cmakedefine HAVE_LANGINFO_CODESET
|
||||
|
||||
/* Define to 1 if you have the <limits.h> header file. */
|
||||
#cmakedefine HAVE_LIMITS_H
|
||||
|
||||
/* Have locale_charset() */
|
||||
#cmakedefine HAVE_LOCALE_CHARSET
|
||||
|
||||
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
|
||||
to 0 otherwise. */
|
||||
#cmakedefine HAVE_MALLOC
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#cmakedefine HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#cmakedefine HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdio.h> header file. */
|
||||
#cmakedefine HAVE_STDIO_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#cmakedefine HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#cmakedefine HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#cmakedefine HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#cmakedefine HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#cmakedefine HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#cmakedefine HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#cmakedefine LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#define PACKAGE "libdatrie"
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#cmakedefine PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#define PACKAGE_NAME "libdatrie"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#cmakedefine PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#cmakedefine PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#define PACKAGE_URL "https://linux.thai.net/~thep/datrie/datrie.html"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#cmakedefine PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#cmakedefine STDC_HEADERS 1
|
||||
|
||||
/* Version number of package */
|
||||
#cmakedefine VERSION "@VERSION@"
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#cmakedefine const
|
||||
|
||||
/* Define to rpl_malloc if the replacement function should be used. */
|
||||
#cmakedefine malloc
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#cmakedefine size_t
|
||||
8
externals/vcpkg/ports/libdatrie/fix-exports.patch
vendored
Executable file
8
externals/vcpkg/ports/libdatrie/fix-exports.patch
vendored
Executable file
@@ -0,0 +1,8 @@
|
||||
diff -Naur ./a/libdatrie.def ./b/libdatrie.def
|
||||
--- a/datrie/libdatrie.def 2013-10-17 06:27:57.000000000 +0300
|
||||
+++ b/datrie/libdatrie.def 2017-12-21 02:42:39.873879000 +0300
|
||||
@@ -1,3 +1,4 @@
|
||||
+EXPORTS
|
||||
alpha_map_new
|
||||
alpha_map_clone
|
||||
alpha_map_free
|
||||
40
externals/vcpkg/ports/libdatrie/portfile.cmake
vendored
Executable file
40
externals/vcpkg/ports/libdatrie/portfile.cmake
vendored
Executable file
@@ -0,0 +1,40 @@
|
||||
set(LIBDATRIE_VERSION 0.2.13)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO tlwg/libdatrie
|
||||
REF v${LIBDATRIE_VERSION}
|
||||
SHA512 38f5a3ee1f3ca0f0601a5fcfeec3892cb34857d4b4720b8e018ca1beb6520c4c10af3bd2f0e4d64367cb256e8e2bca4d0a59b1c81fb36782613d2c258b64df59
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix-exports.patch
|
||||
)
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h.cmake" DESTINATION "${SOURCE_PATH}")
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
INVERTED_FEATURES
|
||||
tool SKIP_TOOL
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DVERSION=${LIBDATRIE_VERSION}
|
||||
${FEATURE_OPTIONS}
|
||||
OPTIONS_DEBUG
|
||||
-DSKIP_TOOL=ON
|
||||
-DSKIP_HEADERS=ON
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
if(NOT SKIP_TOOL)
|
||||
vcpkg_copy_tools(TOOL_NAMES trietool AUTO_CLEAN)
|
||||
endif()
|
||||
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
13
externals/vcpkg/ports/libdatrie/usage
vendored
Executable file
13
externals/vcpkg/ports/libdatrie/usage
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
The package libdatrie can be used via CMake:
|
||||
|
||||
find_path(LIBDATRIE_INCLUDE_DIR datrie/trie.h)
|
||||
find_library(LIBDATRIE_LIBRARY NAMES datrie)
|
||||
target_include_directories(main PRIVATE "${LIBDATRIE_INCLUDE_DIR}")
|
||||
target_link_libraries(main PRIVATE "${LIBDATRIE_LIBRARY}")
|
||||
|
||||
The package libdatrie can be imported via CMake FindPkgConfig module:
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(LIBDATRIE REQUIRED IMPORTED_TARGET datrie-0.2)
|
||||
|
||||
target_link_libraries(main PRIVATE PkgConfig::LIBDATRIE)
|
||||
23
externals/vcpkg/ports/libdatrie/vcpkg.json
vendored
Executable file
23
externals/vcpkg/ports/libdatrie/vcpkg.json
vendored
Executable file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "libdatrie",
|
||||
"version": "0.2.13",
|
||||
"port-version": 1,
|
||||
"description": "Implementation of double-array structure for representing trie",
|
||||
"homepage": "https://linux.thai.net/pub/ThaiLinux/software/libthai",
|
||||
"license": "LGPL-2.1-or-later",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"tool": {
|
||||
"description": "Build the trietool application",
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
"libiconv"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user