[kenlm] New Port (#13692)

This commit is contained in:
Jacob Kahn 2020-10-20 11:31:46 -07:00 committed by GitHub
parent 93eed24259
commit 8ab8add312
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 92 additions and 0 deletions

View File

@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bec81d4..44fd48a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.1)
-if (WIN32)
+if (WIN32 AND BUILD_SHARED_LIBS)
set(Boost_USE_STATIC_LIBS OFF)
# The auto-linking feature has problems with USE_STATIC_LIBS off, so we use
# BOOST_ALL_NO_LIB to turn it off.

View File

@ -0,0 +1,48 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO kpu/kenlm
REF 1f054617eca14eae921e987b4b4eeb2b1d91de6b
SHA512 c18f9c22fbbb1f54ebe9c3b771fb2d7c09d502141d1b3645cff9db44cc51b3c976311ff0db79b60f410622579d043f185c56a4c7386e1b0ba8708e433238968b
HEAD_REF master
PATCHES fix-boost.patch
)
file(REMOVE ${SOURCE_PATH}/cmake/modules/FindEigen3.cmake)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
interpolate ENABLE_INTERPOLATE
)
if ("interpolate" IN_LIST FEATURES AND VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "The interpolate feature does not support Windows.")
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
${FEATURE_OPTIONS}
-DFORCE_STATIC=OFF #already handled by vcpkg
-DENABLE_PYTHON=OFF # kenlm.lib(bhiksha.cc.obj) : fatal error LNK1000: Internal error during IMAGE::Pass2
-DCOMPILE_TESTS=OFF
)
vcpkg_install_cmake()
set(KENLM_TOOLS count_ngrams filter fragment kenlm_benchmark lmplz phrase_table_vocab query build_binary)
if (NOT VCPKG_TARGET_IS_WINDOWS)
list(APPEND KENLM_TOOLS probing_hash_table_benchmark)
if ("interpolate" IN_LIST FEATURES)
list(APPEND KENLM_TOOLS interpolate)
endif()
endif()
vcpkg_copy_tools(TOOL_NAMES ${KENLM_TOOLS} AUTO_CLEAN)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
# Copyright and License
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME license)

32
ports/kenlm/vcpkg.json Normal file
View File

@ -0,0 +1,32 @@
{
"name": "kenlm",
"version-string": "20200924",
"description": "KenLM: Faster and Smaller Language Model Queries",
"supports": "!(arm64 & windows)",
"dependencies": [
"boost-interprocess",
"boost-program-options",
"boost-ptr-container",
"boost-system",
"boost-test",
"boost-thread",
"bzip2",
{
"name": "eigen3",
"platform": "!windows"
},
"liblzma",
"zlib"
],
"features": {
"interpolate": {
"description": "Build interpolation program",
"dependencies": [
{
"name": "eigen3",
"platform": "!windows"
}
]
}
}
}