aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/crfsuite
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/crfsuite
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/crfsuite')
-rw-r--r--vcpkg/ports/crfsuite/CMakeLists.txt75
-rw-r--r--vcpkg/ports/crfsuite/portfile.cmake24
-rw-r--r--vcpkg/ports/crfsuite/vcpkg.json16
3 files changed, 115 insertions, 0 deletions
diff --git a/vcpkg/ports/crfsuite/CMakeLists.txt b/vcpkg/ports/crfsuite/CMakeLists.txt
new file mode 100644
index 0000000..680a571
--- /dev/null
+++ b/vcpkg/ports/crfsuite/CMakeLists.txt
@@ -0,0 +1,75 @@
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
+PROJECT(crfsuite)
+
+if(ANDROID AND ANDROID_NATIVE_API_LEVEL LESS 28)
+ set(CMAKE_C_STANDARD 99) # no aligned_alloc
+endif()
+
+file(GLOB SOURCE_FILE_CQDB
+ "lib/cqdb/src/*.c"
+)
+file(GLOB HEADERS_FILE_CQDB
+ "lib/cqdb/include/*.h"
+)
+
+file(GLOB SOURCE_FILE_CRF
+ "lib/crf/src/*.c"
+)
+file(GLOB HEADERS_FILE_CRF
+ "lib/crf/src/*.h"
+)
+file(GLOB SOURCE_FILE_FRONTEND
+ "frontend/*.c"
+)
+file(GLOB HEADERS_FILE_FRONTEND
+ "frontend/*.h"
+)
+file(GLOB SOURCE_FILE
+ "swig/*.cpp"
+ "frontend/*.c"
+)
+file(GLOB HEADERS_FILE
+ "include/*.h"
+ "include/*.hpp"
+ "frontend/*.h"
+)
+
+find_library(LBFGS_LIBRARY lbfgs)
+
+include_directories(lib/cqdb/include/)
+include_directories(include/)
+include_directories(win32/liblbfgs/)
+
+add_library(cqdb STATIC ${SOURCE_FILE_CQDB} ${HEADERS_FILE_CQDB})
+add_library(crf STATIC ${SOURCE_FILE_CRF} ${HEADERS_FILE_CRF})
+add_library(crfsuite STATIC ${SOURCE_FILE} ${HEADERS_FILE})
+
+target_link_libraries(crf PUBLIC cqdb ${LBFGS_LIBRARY})
+target_link_libraries(crfsuite PUBLIC crf)
+
+install(TARGETS cqdb crf crfsuite
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+if (WIN32)
+ add_executable(frontend ${SOURCE_FILE_FRONTEND} ${HEADERS_FILE_FRONTEND})
+ target_link_libraries(frontend PUBLIC crf)
+ install(TARGETS frontend
+ RUNTIME DESTINATION tools
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ )
+endif()
+
+
+install(
+ FILES
+ ${HEADERS_FILE}
+ ${HEADERS_FILE_CQDB}
+ ${HEADERS_FILE_CRF}
+ ${HEADERS_FILE_FRONTEND}
+ DESTINATION
+ include/crfsuite
+ )
diff --git a/vcpkg/ports/crfsuite/portfile.cmake b/vcpkg/ports/crfsuite/portfile.cmake
new file mode 100644
index 0000000..dac7154
--- /dev/null
+++ b/vcpkg/ports/crfsuite/portfile.cmake
@@ -0,0 +1,24 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO chokkan/crfsuite
+ REF a2a1547727985e3aff6a35cffe073f57f0223e9d
+ SHA512 d80f72fe13288bc516772542438c09439c6abbd4c15b06650f1de1fee7f7f710c1eed924d4300141807b8f86af398ae5d217974c13a65044515ceb163de441a4
+ HEAD_REF master
+)
+
+list(REMOVE_ITEM SOURCE_FILE "${SOURCE_PATH}/win32/liblbfgs/lbfgs.lib")
+list(REMOVE_ITEM SOURCE_FILE "${SOURCE_PATH}/win32/liblbfgs/lbfgs_debug.lib")
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/crfsuite/vcpkg.json b/vcpkg/ports/crfsuite/vcpkg.json
new file mode 100644
index 0000000..bfb7124
--- /dev/null
+++ b/vcpkg/ports/crfsuite/vcpkg.json
@@ -0,0 +1,16 @@
+{
+ "name": "crfsuite",
+ "version-date": "2020-08-27",
+ "port-version": 1,
+ "description": "CRFSuite is an implementation of Conditional Random Fields (CRFs) for labeling sequential data.",
+ "homepage": "https://www.chokkan.org/software/crfsuite/",
+ "license": null,
+ "supports": "!uwp",
+ "dependencies": [
+ "liblbfgs",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}