[poco] Add more features for poco library (#45377)

This commit is contained in:
tomy2105
2025-05-20 20:02:17 +02:00
committed by GitHub
parent d9ccd77bb5
commit cde4530dcd
7 changed files with 317 additions and 31 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "3fd",
"version": "2.6.3",
"port-version": 4,
"port-version": 5,
"description": "C++ Framework For Fast Development",
"supports": "windows & !static & !arm64",
"dependencies": [
@@ -15,6 +15,11 @@
},
{
"name": "poco",
"default-features": false,
"features": [
"data",
"odbc"
],
"platform": "windows"
},
"rapidxml",

View File

@@ -0,0 +1,22 @@
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e88e5612a..23b4c992f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -459,12 +459,12 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/ActiveRecord/Compiler AND ENABLE_ACTIVERECORD_CO
list(APPEND Poco_COMPONENTS "ActiveRecordCompiler")
endif()
-if(EXISTS ${PROJECT_SOURCE_DIR}/SevenZip AND ENABLE_SEVENZIP AND ENABLE_XML)
+if(EXISTS ${PROJECT_SOURCE_DIR}/SevenZip AND ENABLE_SEVENZIP)
add_subdirectory(SevenZip)
list(APPEND Poco_COMPONENTS "SevenZip")
endif()
-if(EXISTS ${PROJECT_SOURCE_DIR}/Zip AND ENABLE_ZIP AND ENABLE_XML)
+if(EXISTS ${PROJECT_SOURCE_DIR}/Zip AND ENABLE_ZIP)
add_subdirectory(Zip)
list(APPEND Poco_COMPONENTS "Zip")
endif()

View File

@@ -15,6 +15,8 @@ vcpkg_from_github(
0007-find-pcre2.patch
# MSYS2 repo was used as a source. Thanks MSYS2 team: https://github.com/msys2/MINGW-packages/blob/6e7fba42b7f50e1111b7c0ef50048832243b0ac4/mingw-w64-poco/001-fix-build-on-mingw.patch
0008-fix-mingw-compilation.patch
# Should be removed once https://github.com/pocoproject/poco/issues/4947 is resolved
0009-fix-zip-to-xml-dependency.patch
)
file(REMOVE "${SOURCE_PATH}/Foundation/src/pcre2.h")
@@ -30,10 +32,31 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
crypto ENABLE_CRYPTO
netssl ENABLE_NETSSL
pdf ENABLE_PDF
postgresql ENABLE_DATA_POSTGRESQL
crypto ENABLE_CRYPTO
netssl ENABLE_NETSSL
pdf ENABLE_PDF
postgresql ENABLE_DATA_POSTGRESQL
encodings ENABLE_ENCODINGS
encodings-compiler ENABLE_ENCODINGS_COMPILER
xml ENABLE_XML
json ENABLE_JSON
mongodb ENABLE_MONGODB
redis ENABLE_REDIS
prometheus ENABLE_PROMETHEUS
util ENABLE_UTIL
net ENABLE_NET
zip ENABLE_ZIP
pocodoc ENABLE_POCODOC
pagecompiler ENABLE_PAGECOMPILER
pagecompiler-file2page ENABLE_PAGECOMPILER_FILE2PAGE
jwt ENABLE_JWT
data ENABLE_DATA
sqlite ENABLE_DATA_SQLITE
odbc ENABLE_DATA_ODBC
activerecord ENABLE_ACTIVERECORD
activerecord-compiler ENABLE_ACTIVERECORD_COMPILER
sevenzip ENABLE_SEVENZIP
cpp-parser ENABLE_CPPPARSER
)
# POCO_ENABLE_NETSSL_WIN:
@@ -59,21 +82,8 @@ vcpkg_cmake_configure(
# Define linking feature
-DPOCO_MT=${POCO_MT}
-DENABLE_TESTS=OFF
# Allow enabling and disabling components
-DENABLE_ENCODINGS=ON
-DENABLE_ENCODINGS_COMPILER=ON
-DENABLE_XML=ON
-DENABLE_JSON=ON
-DENABLE_MONGODB=ON
-DENABLE_REDIS=ON
-DENABLE_UTIL=ON
-DENABLE_NET=ON
-DENABLE_SEVENZIP=ON
-DENABLE_ZIP=ON
-DENABLE_CPPPARSER=ON
-DENABLE_POCODOC=ON
-DENABLE_PAGECOMPILER=ON
-DENABLE_PAGECOMPILER_FILE2PAGE=ON
-DENABLE_SAMPLES=OFF
# Allow enabling and disabling components done via features
-DPOCO_DISABLE_INTERNAL_OPENSSL=ON
-DENABLE_APACHECONNECTOR=OFF
-DENABLE_DATA_MYSQL=${POCO_USE_MYSQL}
@@ -87,7 +97,25 @@ vcpkg_cmake_install()
vcpkg_copy_pdbs()
# Move apps to the tools folder
vcpkg_copy_tools(TOOL_NAMES cpspc f2cpsp PocoDoc tec poco-arc AUTO_CLEAN)
set(tools)
if (ENABLE_PAGECOMPILER)
list(APPEND tools "cpspc")
endif()
if (ENABLE_PAGECOMPILER_FILE2PAGE)
list(APPEND tools "f2cpsp")
endif()
if (ENABLE_POCODOC)
list(APPEND tools "PocoDoc")
endif()
if (ENABLE_ENCODINGS_COMPILER)
list(APPEND tools "tec")
endif()
if (ENABLE_ACTIVERECORD_COMPILER)
list(APPEND tools "poco-arc")
endif()
if (tools)
vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN)
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")

View File

@@ -1,15 +1,13 @@
{
"name": "poco",
"version": "1.14.1",
"port-version": 1,
"port-version": 2,
"description": "Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.",
"homepage": "https://github.com/pocoproject/poco",
"license": "BSL-1.0",
"supports": "!uwp",
"dependencies": [
"expat",
"pcre2",
"sqlite3",
"utf8proc",
{
"name": "vcpkg-cmake",
@@ -22,24 +20,107 @@
"zlib"
],
"features": {
"activerecord": {
"description": "Simple and lightweight object-relational mapping (ORM) framework built on top of the POCO Data",
"dependencies": [
"expat",
{
"name": "poco",
"default-features": false,
"features": [
"data"
]
}
]
},
"activerecord-compiler": {
"description": "Compiler for Simple and lightweight object-relational mapping (ORM) framework built on top of the POCO Data",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"util",
"xml"
]
}
]
},
"cpp-parser": {
"description": "POCO C++ parser"
},
"crypto": {
"description": "Crypto support",
"dependencies": [
"openssl"
]
},
"data": {
"description": "Database abstraction layer for POCO"
},
"encodings": {
"description": "Encodings support for POCO"
},
"encodings-compiler": {
"description": "Compiler for encodings support for POCO"
},
"json": {
"description": "JSON support for POCO"
},
"jwt": {
"description": "JWT support for POCO",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"crypto",
"json"
]
}
]
},
"mariadb": {
"description": "MariaDB support for POCO",
"dependencies": [
"libmariadb"
"libmariadb",
{
"name": "poco",
"default-features": false,
"features": [
"data"
]
}
]
},
"mongodb": {
"description": "MongoDB support for POCO",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"net"
]
}
]
},
"mysql": {
"description": "Mysql support for POCO",
"dependencies": [
"libmysql"
"libmysql",
{
"name": "poco",
"default-features": false,
"features": [
"data"
]
}
]
},
"net": {
"description": "Network support for POCO"
},
"netssl": {
"description": [
"NetSSL support for POCO",
@@ -50,7 +131,54 @@
"name": "poco",
"default-features": false,
"features": [
"crypto"
"crypto",
"net",
"util"
]
}
]
},
"odbc": {
"description": "ODBC support for POCO",
"supports": "windows | osx | linux",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"data"
]
},
{
"name": "unixodbc",
"platform": "osx | linux"
}
]
},
"pagecompiler": {
"description": "Command line tool that translates HTML files into C++ code",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"net",
"util",
"xml"
]
}
]
},
"pagecompiler-file2page": {
"description": "Command line tool that translates HTML files into C++ code",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"net",
"util",
"xml"
]
}
]
@@ -58,14 +186,107 @@
"pdf": {
"description": "Haru support for POCO",
"dependencies": [
"libharu"
"libharu",
{
"name": "poco",
"default-features": false,
"features": [
"util",
"xml"
]
}
]
},
"pocodoc": {
"description": "POCO documentation generator",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"cpp-parser",
"data",
"sqlite",
"util",
"xml"
]
}
]
},
"postgresql": {
"description": "PostgreSQL support for POCO",
"dependencies": [
"libpqxx"
"libpqxx",
{
"name": "poco",
"default-features": false,
"features": [
"data"
]
}
]
},
"prometheus": {
"description": "Prometheus support for POCO",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"net"
]
}
]
},
"redis": {
"description": "Redis support for POCO",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"net"
]
}
]
},
"sevenzip": {
"description": "Support for parsing and creating 7Zip files"
},
"sqlite": {
"description": "SQLite support for POCO",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"data"
]
},
"sqlite3"
]
},
"util": {
"description": "Utility support library for POCO",
"dependencies": [
{
"name": "poco",
"default-features": false,
"features": [
"json",
"xml"
]
}
]
},
"xml": {
"description": "XML support for POCO",
"dependencies": [
"expat"
]
},
"zip": {
"description": "Support for parsing and creating Zip files"
}
}
}

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "bc015ca2306c3d177cf011b7bb54d5181d62b0e9",
"version": "2.6.3",
"port-version": 5
},
{
"git-tree": "81e9fd75ff6a4fee6ab7a5d4d09e7e3a735fbaaa",
"version": "2.6.3",

View File

@@ -2,7 +2,7 @@
"default": {
"3fd": {
"baseline": "2.6.3",
"port-version": 4
"port-version": 5
},
"7zip": {
"baseline": "24.09",
@@ -7350,7 +7350,7 @@
},
"poco": {
"baseline": "1.14.1",
"port-version": 1
"port-version": 2
},
"podofo": {
"baseline": "0.10.4",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "1b7c8e1c9662ffc308a12a2382fdbd3ac105801c",
"version": "1.14.1",
"port-version": 2
},
{
"git-tree": "0fbc74c0a62a6b1b4240b30a3594245ee187fbe9",
"version": "1.14.1",