diff --git a/ports/poco/0001-static-pcre.patch b/ports/poco/0001-static-pcre.patch new file mode 100644 index 0000000000..4469310e2b --- /dev/null +++ b/ports/poco/0001-static-pcre.patch @@ -0,0 +1,28 @@ +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index f504bc1..226dadb 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -109,6 +109,23 @@ set_target_properties(Foundation + if(POCO_UNBUNDLED) + target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) + target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) ++ add_definitions( ++ -D_pcre2_utf8_table1=_poco_pcre2_utf8_table1 ++ -D_pcre2_utf8_table1_size=_poco_pcre2_utf8_table1_size ++ -D_pcre2_utf8_table2=_poco_pcre2_utf8_table2 ++ -D_pcre2_utf8_table3=_poco_pcre2_utf8_table3 ++ -D_pcre2_utf8_table4=_poco_pcre2_utf8_table4 ++ -D_pcre2_OP_lengths_8=_poco_pcre2_OP_lengths_8 ++ -D_pcre2_callout_end_delims_8=_poco_pcre2_callout_end_delims_8 ++ -D_pcre2_callout_start_delims_8=_poco_pcre2_callout_start_delims_8 ++ -D_pcre2_hspace_list_8=_poco_pcre2_hspace_list_8 ++ -D_pcre2_vspace_list_8=_poco_pcre2_vspace_list_8 ++ -D_pcre2_ucp_gbtable_8=_poco_pcre2_ucp_gbtable_8 ++ -D_pcre2_ucp_gentype_8=_poco_pcre2_ucp_gentype_8 ++ -D_pcre2_utt_8=_poco_pcre2_utt_8 ++ -D_pcre2_utt_names_8=_poco_pcre2_utt_names_8 ++ -D_pcre2_utt_size_8=_poco_pcre2_utt_size_8 ++ ) + endif(POCO_UNBUNDLED) + + target_include_directories(Foundation diff --git a/ports/poco/arm64_pcre.patch b/ports/poco/0002-arm64-pcre.patch similarity index 86% rename from ports/poco/arm64_pcre.patch rename to ports/poco/0002-arm64-pcre.patch index b47561ca7b..b5a48cec2a 100644 --- a/ports/poco/arm64_pcre.patch +++ b/ports/poco/0002-arm64-pcre.patch @@ -1,49 +1,49 @@ -diff --git a/Foundation/src/EventLogChannel.cpp b/Foundation/src/EventLogChannel.cpp -index 1f51296..c67b71b 100644 ---- a/Foundation/src/EventLogChannel.cpp -+++ b/Foundation/src/EventLogChannel.cpp -@@ -11,6 +11,7 @@ - // SPDX-License-Identifier: BSL-1.0 - // - -+#pragma comment(lib,"advapi32.lib") - - #include "Poco/EventLogChannel.h" - #include "Poco/Message.h" -diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h -index 0a222c7..0843315 100644 ---- a/Foundation/src/utils.h -+++ b/Foundation/src/utils.h -@@ -91,7 +91,7 @@ int main(int argc, char** argv) { - // - // If it prints "correct" then the architecture should be here, in the "correct" section. - #if defined(_M_X64) || defined(__x86_64__) || \ -- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ -+ defined(__ARMEL__) || defined(_M_ARM) || defined(__arm__) || defined(__arm64__) || defined(_M_ARM64) || \ - defined(__hppa__) || defined(__ia64__) || \ - defined(__mips__) || \ - defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ -diff --git a/Net/src/Net.cpp b/Net/src/Net.cpp -index 1a75379..b4081fd 100644 ---- a/Net/src/Net.cpp -+++ b/Net/src/Net.cpp -@@ -11,6 +11,7 @@ - // SPDX-License-Identifier: BSL-1.0 - // - -+#pragma comment(lib,"advapi32.lib") - - #include "Poco/Net/Net.h" - -diff --git a/Util/src/WinRegistryKey.cpp b/Util/src/WinRegistryKey.cpp -index 7fd1a28..a07c5d2 100644 ---- a/Util/src/WinRegistryKey.cpp -+++ b/Util/src/WinRegistryKey.cpp -@@ -11,6 +11,7 @@ - // SPDX-License-Identifier: BSL-1.0 - // - -+#pragma comment(lib,"advapi32.lib") - - #include "Poco/Util/WinRegistryKey.h" - #include "Poco/Exception.h" +diff --git a/Foundation/src/EventLogChannel.cpp b/Foundation/src/EventLogChannel.cpp +index f9a9fb1..b032f9d 100644 +--- a/Foundation/src/EventLogChannel.cpp ++++ b/Foundation/src/EventLogChannel.cpp +@@ -11,6 +11,7 @@ + // SPDX-License-Identifier: BSL-1.0 + // + ++#pragma comment(lib,"advapi32.lib") + + #include "Poco/EventLogChannel.h" + #include "Poco/Message.h" +diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h +index c9b6c00..710c199 100644 +--- a/Foundation/src/utils.h ++++ b/Foundation/src/utils.h +@@ -129,7 +129,7 @@ int main(int argc, char** argv) { + // + // If it prints "correct" then the architecture should be here, in the "correct" section. + #if defined(_M_X64) || defined(__x86_64__) || \ +- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ ++ defined(__ARMEL__) || defined(_M_ARM) || defined(__arm__) || defined(__arm64__) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ + defined(__loongarch__) || \ +diff --git a/Net/src/Net.cpp b/Net/src/Net.cpp +index 1a75379..b4081fd 100644 +--- a/Net/src/Net.cpp ++++ b/Net/src/Net.cpp +@@ -11,6 +11,7 @@ + // SPDX-License-Identifier: BSL-1.0 + // + ++#pragma comment(lib,"advapi32.lib") + + #include "Poco/Net/Net.h" + +diff --git a/Util/src/WinRegistryKey.cpp b/Util/src/WinRegistryKey.cpp +index 7fd1a28..a07c5d2 100644 +--- a/Util/src/WinRegistryKey.cpp ++++ b/Util/src/WinRegistryKey.cpp +@@ -11,6 +11,7 @@ + // SPDX-License-Identifier: BSL-1.0 + // + ++#pragma comment(lib,"advapi32.lib") + + #include "Poco/Util/WinRegistryKey.h" + #include "Poco/Exception.h" diff --git a/ports/poco/fix_dependency.patch b/ports/poco/0003-fix-dependency.patch similarity index 63% rename from ports/poco/fix_dependency.patch rename to ports/poco/0003-fix-dependency.patch index 4b47bfddb2..394dad0f6a 100644 --- a/ports/poco/fix_dependency.patch +++ b/ports/poco/0003-fix-dependency.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4e05272..44dd7cb 100644 +index c552091..f05f50c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -82,8 +82,6 @@ option(FORCE_OPENSSL "Force usage of OpenSSL even under windows" OFF) +@@ -90,8 +90,6 @@ option(FORCE_OPENSSL "Force usage of OpenSSL even under windows" OFF) if(ENABLE_CRYPTO OR ENABLE_NETSSL OR ENABLE_JWT) find_package(OpenSSL REQUIRED) @@ -11,15 +11,13 @@ index 4e05272..44dd7cb 100644 endif() if(OPENSSL_FOUND) -@@ -113,24 +111,19 @@ else() - option(ENABLE_APACHECONNECTOR "Enable ApacheConnector" OFF) - endif() +@@ -123,22 +121,20 @@ endif() --if(ENABLE_DATA_MYSQL) -- find_package(MySQL REQUIRED) + if(ENABLE_DATA_MYSQL) + find_package(MySQL REQUIRED) -else() - find_package(MySQL) --endif() + endif() +option(ENABLE_DATA "Enable Data" OFF) +option(ENABLE_DATA_MYSQL "Enable Data MySQL or MariaDB" OFF) @@ -44,7 +42,7 @@ index 4e05272..44dd7cb 100644 endif() if(PostgreSQL_FOUND) -@@ -207,6 +200,9 @@ include(DefinePlatformSpecifc) +@@ -223,6 +219,9 @@ include(DefinePlatformSpecifc) # Collect the built libraries and include dirs, the will be used to create the PocoConfig.cmake file set(Poco_COMPONENTS "") @@ -54,8 +52,8 @@ index 4e05272..44dd7cb 100644 if(ENABLE_TESTS) add_subdirectory(CppUnit) set(ENABLE_XML ON CACHE BOOL "Enable XML" FORCE) -@@ -339,8 +335,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Redis AND ENABLE_REDIS) - list(APPEND Poco_COMPONENTS "Redis") +@@ -351,8 +350,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Prometheus AND ENABLE_PROMETHEUS) + list(APPEND Poco_COMPONENTS "Prometheus") endif() -if(EXISTS ${PROJECT_SOURCE_DIR}/PDF AND ENABLE_PDF) @@ -68,12 +66,12 @@ index 4e05272..44dd7cb 100644 list(APPEND Poco_COMPONENTS "PDF") endif() -@@ -478,15 +477,6 @@ install( +@@ -492,15 +494,6 @@ install( Devel ) -if(POCO_UNBUNDLED) -- install(FILES cmake/FindPCRE.cmake +- install(FILES cmake/FindPCRE2.cmake - DESTINATION "${PocoConfigPackageLocation}") - install(FILES cmake/V39/FindEXPAT.cmake - DESTINATION "${PocoConfigPackageLocation}/V39") @@ -85,7 +83,7 @@ index 4e05272..44dd7cb 100644 message(STATUS "${PROJECT_NAME} package version: ${PROJECT_VERSION}") if(BUILD_SHARED_LIBS) diff --git a/Data/CMakeLists.txt b/Data/CMakeLists.txt -index 7d1e99e..9d0a85c 100644 +index 0772af6..692fd2f 100644 --- a/Data/CMakeLists.txt +++ b/Data/CMakeLists.txt @@ -45,7 +45,7 @@ else(ENABLE_DATA_SQLITE) @@ -98,10 +96,13 @@ index 7d1e99e..9d0a85c 100644 add_subdirectory(MySQL) else() diff --git a/Data/MySQL/CMakeLists.txt b/Data/MySQL/CMakeLists.txt -index f71b145..7034974 100644 +index ce411cf..2791523 100644 --- a/Data/MySQL/CMakeLists.txt +++ b/Data/MySQL/CMakeLists.txt -@@ -21,7 +21,7 @@ set_target_properties(DataMySQL +@@ -18,10 +18,10 @@ set_target_properties(DataMySQL + PROPERTIES + VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION} + OUTPUT_NAME PocoDataMySQL DEFINE_SYMBOL MySQL_EXPORTS ) @@ -111,7 +112,7 @@ index f71b145..7034974 100644 PUBLIC $ diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h -index 6ddcd39..9e50803 100644 +index 2386590..81b2c8e 100644 --- a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +++ b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h @@ -57,8 +57,6 @@ @@ -124,7 +125,7 @@ index 6ddcd39..9e50803 100644 #endif diff --git a/Data/SQLite/CMakeLists.txt b/Data/SQLite/CMakeLists.txt -index b52e2c5..0dcfae2 100644 +index 3a176d7..d8055cb 100644 --- a/Data/SQLite/CMakeLists.txt +++ b/Data/SQLite/CMakeLists.txt @@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h") @@ -141,67 +142,10 @@ index b52e2c5..0dcfae2 100644 if(POCO_UNBUNDLED) - target_link_libraries(DataSQLite PUBLIC SQLite::SQLite3) -+ target_link_libraries(DataSQLite PUBLIC unofficial::sqlite3::sqlite3) ++ target_link_libraries(DataSQLite PUBLIC unofficial::sqlite3::sqlite3) target_compile_definitions(DataSQLite PUBLIC POCO_UNBUNDLED SQLITE_THREADSAFE=1 -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index 6f5100f..c9fa2e5 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -35,7 +35,7 @@ POCO_MESSAGES(SRCS Logging src/pocomsg.mc) - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if(POCO_UNBUNDLED) -- find_package(PCRE REQUIRED) -+ find_package(unofficial-pcre CONFIG REQUIRED) - find_package(ZLIB REQUIRED) - - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library -@@ -101,7 +101,7 @@ set_target_properties(Foundation - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre::Pcre ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC unofficial::pcre::pcre ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - add_definitions( - -D_pcre_utf8_table1=_poco_pcre_utf8_table1 -diff --git a/Foundation/cmake/PocoFoundationConfig.cmake b/Foundation/cmake/PocoFoundationConfig.cmake -index 46c2d3f..af2e78c 100644 ---- a/Foundation/cmake/PocoFoundationConfig.cmake -+++ b/Foundation/cmake/PocoFoundationConfig.cmake -@@ -2,7 +2,7 @@ if(@POCO_UNBUNDLED@) - include(CMakeFindDependencyMacro) - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") - find_dependency(ZLIB REQUIRED) -- find_dependency(PCRE REQUIRED) -+ find_dependency(unofficial-pcre REQUIRED) - endif() - - include("${CMAKE_CURRENT_LIST_DIR}/PocoFoundationTargets.cmake") -diff --git a/XML/CMakeLists.txt b/XML/CMakeLists.txt -index 4fbf06f..793285a 100644 ---- a/XML/CMakeLists.txt -+++ b/XML/CMakeLists.txt -@@ -20,7 +20,7 @@ endif() - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if(POCO_UNBUNDLED) -- find_package(EXPAT REQUIRED) -+ find_package(expat CONFIG REQUIRED) - else() - POCO_SOURCES(SRCS expat - src/xmlparse.cpp -@@ -50,7 +50,7 @@ target_include_directories(XML - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(XML PUBLIC EXPAT::EXPAT) -+ target_link_libraries(XML PUBLIC expat::expat) - target_compile_definitions(XML PUBLIC POCO_UNBUNDLED) - else() - if(WIN32) diff --git a/XML/cmake/PocoXMLConfig.cmake b/XML/cmake/PocoXMLConfig.cmake index ef58207..4ed94ec 100644 --- a/XML/cmake/PocoXMLConfig.cmake @@ -216,7 +160,7 @@ index ef58207..4ed94ec 100644 include("${CMAKE_CURRENT_LIST_DIR}/PocoXMLTargets.cmake") diff --git a/cmake/PocoConfig.cmake.in b/cmake/PocoConfig.cmake.in -index 173eacd..936edf4 100644 +index 173eacd..4864b32 100644 --- a/cmake/PocoConfig.cmake.in +++ b/cmake/PocoConfig.cmake.in @@ -8,6 +8,13 @@ if (NOT Poco_FIND_COMPONENTS) @@ -225,7 +169,7 @@ index 173eacd..936edf4 100644 +include(CMakeFindDependencyMacro) +find_dependency(ZLIB REQUIRED) -+find_dependency(unofficial-pcre REQUIRED) ++#find_dependency(unofficial-pcre REQUIRED) +if(Poco_FIND_REQUIRED_XML) + find_dependency(expat CONFIG REQUIRED) +endif() diff --git a/ports/poco/fix-feature-sqlite3.patch b/ports/poco/0004-fix-feature-sqlite3.patch similarity index 100% rename from ports/poco/fix-feature-sqlite3.patch rename to ports/poco/0004-fix-feature-sqlite3.patch diff --git a/ports/poco/fix-error-c3861.patch b/ports/poco/0005-fix-error-c3861.patch similarity index 96% rename from ports/poco/fix-error-c3861.patch rename to ports/poco/0005-fix-error-c3861.patch index 85891622c7..dc029c6007 100644 --- a/ports/poco/fix-error-c3861.patch +++ b/ports/poco/0005-fix-error-c3861.patch @@ -1,12 +1,12 @@ -diff --git a/XML/include/Poco/XML/ParserEngine.h b/XML/include/Poco/XML/ParserEngine.h -index e0c8455..363654c 100644 ---- a/XML/include/Poco/XML/ParserEngine.h -+++ b/XML/include/Poco/XML/ParserEngine.h -@@ -19,6 +19,7 @@ - - #include "Poco/XML/XML.h" - #if defined(POCO_UNBUNDLED) -+#include - #include - #else - #include "Poco/XML/expat.h" +diff --git a/XML/include/Poco/XML/ParserEngine.h b/XML/include/Poco/XML/ParserEngine.h +index e0c8455..363654c 100644 +--- a/XML/include/Poco/XML/ParserEngine.h ++++ b/XML/include/Poco/XML/ParserEngine.h +@@ -19,6 +19,7 @@ + + #include "Poco/XML/XML.h" + #if defined(POCO_UNBUNDLED) ++#include + #include + #else + #include "Poco/XML/expat.h" diff --git a/ports/poco/fix-InstallDataMysql.patch b/ports/poco/0006-fix-install-data-mysql.patch similarity index 100% rename from ports/poco/fix-InstallDataMysql.patch rename to ports/poco/0006-fix-install-data-mysql.patch diff --git a/ports/poco/0007-find-pcre2.patch b/ports/poco/0007-find-pcre2.patch new file mode 100644 index 0000000000..6299b27ae2 --- /dev/null +++ b/ports/poco/0007-find-pcre2.patch @@ -0,0 +1,106 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f05f50c..bb7a94c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -494,6 +494,11 @@ install( + Devel + ) + ++if(POCO_UNBUNDLED) ++ install(FILES cmake/FindPCRE2.cmake ++ DESTINATION "${PocoConfigPackageLocation}") ++endif() ++ + message(STATUS "CMake ${CMAKE_VERSION} successfully configured ${PROJECT_NAME} using ${CMAKE_GENERATOR} generator") + message(STATUS "${PROJECT_NAME} package version: ${PROJECT_VERSION}") + if(BUILD_SHARED_LIBS) +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index 226dadb..25ff2c1 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -35,8 +35,11 @@ POCO_MESSAGES(SRCS Logging src/pocomsg.mc) + # If POCO_UNBUNDLED is enabled we try to find the required packages + # The configuration will fail if the packages are not found + if(POCO_UNBUNDLED) +- find_package(PCRE2 REQUIRED) + find_package(ZLIB REQUIRED) ++ include(SelectLibraryConfigurations) ++ find_library(PCRE2_LIBRARY_DEBUG NAMES pcre2-8d pcre2-8-staticd HINTS ${INSTALLED_LIB_PATH}) ++ find_library(PCRE2_LIBRARY_RELEASE NAMES pcre2-8 pcre2-8-static HINTS ${INSTALLED_LIB_PATH}) ++ select_library_configurations(PCRE2) + + #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library + POCO_SOURCES(SRCS RegExp +@@ -107,7 +110,7 @@ set_target_properties(Foundation + ) + + if(POCO_UNBUNDLED) +- target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) ++ target_link_libraries(Foundation PUBLIC ${PCRE2_LIBRARY} ZLIB::ZLIB) + target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) + add_definitions( + -D_pcre2_utf8_table1=_poco_pcre2_utf8_table1 +diff --git a/cmake/FindPCRE2.cmake b/cmake/FindPCRE2.cmake +index e730f32..6e10df2 100644 +--- a/cmake/FindPCRE2.cmake ++++ b/cmake/FindPCRE2.cmake +@@ -54,7 +54,7 @@ Hints + include(FindPackageHandleStandardArgs) + + find_package(PkgConfig QUIET) +-pkg_check_modules(PC_PCRE2 QUIET pcre2) ++pkg_check_modules(PC_PCRE2 QUIET libpcre2-8) + + find_path(PCRE2_INCLUDE_DIR + NAMES pcre2.h +@@ -66,8 +66,8 @@ find_path(PCRE2_INCLUDE_DIR + DOC "Specify the include directory containing pcre2.h" + ) + +-find_library(PCRE2_LIBRARY +- NAMES pcre2-8 ++find_library(PCRE2_LIBRARY_DEBUG ++ NAMES pcre2-8d pcre2-8-staticd + HINTS + ${PCRE2_ROOT_DIR}/lib + ${PCRE2_ROOT_LIBRARY_DIRS} +@@ -76,6 +76,19 @@ find_library(PCRE2_LIBRARY + DOC "Specify the lib directory containing pcre2" + ) + ++find_library(PCRE2_LIBRARY_RELEASE ++ NAMES pcre2-8 pcre2-8-static ++ HINTS ++ ${PCRE2_ROOT_DIR}/lib ++ ${PCRE2_ROOT_LIBRARY_DIRS} ++ PATHS ++ ${PC_PCRE2_LIBRARY_DIRS} ++ DOC "Specify the lib directory containing pcre2" ++) ++ ++include(SelectLibraryConfigurations) ++select_library_configurations(PCRE2) ++ + set(PCRE2_VERSION ${PC_PCRE2_VERSION}) + + find_package_handle_standard_args(PCRE2 +@@ -87,7 +100,6 @@ find_package_handle_standard_args(PCRE2 + ) + + if(PCRE2_FOUND) +- set(PCRE2_LIBRARIES ${PCRE2_LIBRARY}) + set(PCRE2_INCLUDE_DIRS ${PCRE2_INCLUDE_DIR}) + set(PCRE2_DEFINITIONS ${PC_PCRE2_CFLAGS_OTHER}) + endif() +diff --git a/cmake/PocoConfig.cmake.in b/cmake/PocoConfig.cmake.in +index 4864b32..90f68fc 100644 +--- a/cmake/PocoConfig.cmake.in ++++ b/cmake/PocoConfig.cmake.in +@@ -10,7 +10,6 @@ endif() + + include(CMakeFindDependencyMacro) + find_dependency(ZLIB REQUIRED) +-#find_dependency(unofficial-pcre REQUIRED) + if(Poco_FIND_REQUIRED_XML) + find_dependency(expat CONFIG REQUIRED) + endif() diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index c6c9c0f524..bf0a19c161 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -1,29 +1,30 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pocoproject/poco - REF 9d1c428c861f2e5ccf09149bbe8d2149720c5896 # poco-1.11.2-release - SHA512 b812bb194783c94e2a048daf6659e0f0fa5e9040ebd49342a5d39636cee600754d0465f8b28725d76dcb2681d1b64dfd8b08ac9c85b95b4ac8edf9b53d68feb1 + REF 1211613642269b7d53bea58b02de7fcd25ece3b9 # poco-1.12.4-release + SHA512 bf390f7c8d7c4f0d7602afa434a933b429274944d12560159761b0f984316c76abfdb49ad422c869e02d88041058a04d66e7b5ae05142819a4f583870cc00f44 HEAD_REF master PATCHES # Fix embedded copy of pcre in static linking mode - static_pcre.patch + 0001-static-pcre.patch # Add the support of arm64-windows - arm64_pcre.patch - fix_dependency.patch - fix-feature-sqlite3.patch - fix-error-c3861.patch - fix-InstallDataMysql.patch + 0002-arm64-pcre.patch + 0003-fix-dependency.patch + 0004-fix-feature-sqlite3.patch + 0005-fix-error-c3861.patch + 0006-fix-install-data-mysql.patch + 0007-find-pcre2.patch ) -file(REMOVE "${SOURCE_PATH}/Foundation/src/pcre.h") +file(REMOVE "${SOURCE_PATH}/Foundation/src/pcre2.h") file(REMOVE "${SOURCE_PATH}/cmake/V39/FindEXPAT.cmake") file(REMOVE "${SOURCE_PATH}/cmake/V313/FindSQLite3.cmake") -file(REMOVE "${SOURCE_PATH}/cmake/FindPCRE.cmake") +# vcpkg's PCRE2 does not provide a FindPCRE2, and the bundled one seems to work fine +# file(REMOVE "${SOURCE_PATH}/cmake/FindPCRE2.cmake") file(REMOVE "${SOURCE_PATH}/XML/src/expat_config.h") file(REMOVE "${SOURCE_PATH}/cmake/FindMySQL.cmake") # define Poco linkage type -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -48,7 +49,6 @@ vcpkg_cmake_configure( # force to use dependencies as external -DPOCO_UNBUNDLED=ON # Define linking feature - -DPOCO_STATIC=${POCO_STATIC} -DPOCO_MT=${POCO_MT} -DENABLE_TESTS=OFF # Allow enabling and disabling components @@ -72,6 +72,9 @@ vcpkg_cmake_configure( -DPOCO_DISABLE_INTERNAL_OPENSSL=ON -DENABLE_APACHECONNECTOR=OFF -DENABLE_DATA_MYSQL=${POCO_USE_MYSQL} + MAYBE_UNUSED_VARIABLES # these are only used when if(MSVC) + POCO_DISABLE_INTERNAL_OPENSSL + POCO_MT ) vcpkg_cmake_install() @@ -81,6 +84,10 @@ vcpkg_copy_pdbs() # Move apps to the tools folder vcpkg_copy_tools(TOOL_NAMES cpspc f2cpsp PocoDoc tec arc AUTO_CLEAN) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + # Copy additional include files not part of any libraries if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL") file(COPY "${SOURCE_PATH}/Data/include" DESTINATION "${CURRENT_PACKAGES_DIR}") diff --git a/ports/poco/static_pcre.patch b/ports/poco/static_pcre.patch deleted file mode 100644 index adfc5a7e8c..0000000000 --- a/ports/poco/static_pcre.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index 6b276be..6f5100f 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -103,6 +103,21 @@ set_target_properties(Foundation - if(POCO_UNBUNDLED) - target_link_libraries(Foundation PUBLIC Pcre::Pcre ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) -+ add_definitions( -+ -D_pcre_utf8_table1=_poco_pcre_utf8_table1 -+ -D_pcre_utf8_table1_size=_poco_pcre_utf8_table1_size -+ -D_pcre_utf8_table2=_poco_pcre_utf8_table2 -+ -D_pcre_utf8_table3=_poco_pcre_utf8_table3 -+ -D_pcre_utf8_table4=_poco_pcre_utf8_table4 -+ -D_pcre_utt_names=_poco_pcre_utt_names -+ -D_pcre_utt=_poco_pcre_utt -+ -D_pcre_utt_size=_poco_pcre_utt_size -+ -D_pcre_OP_lengths=_poco_pcre_OP_lengths -+ -D_pcre_hspace_list=_poco_pcre_hspace_list -+ -D_pcre_vspace_list=_poco_pcre_vspace_list -+ -D_pcre_ucp_gentype=_poco_pcre_ucp_gentype -+ -D_pcre_ucp_gbtable=_poco_pcre_ucp_gbtable -+ ) - endif(POCO_UNBUNDLED) - - target_include_directories(Foundation diff --git a/ports/poco/vcpkg.json b/ports/poco/vcpkg.json index d4a8c97aad..766fe96ead 100644 --- a/ports/poco/vcpkg.json +++ b/ports/poco/vcpkg.json @@ -1,13 +1,13 @@ { "name": "poco", - "version": "1.11.2", + "version": "1.12.4", "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", - "pcre", + "pcre2", { "name": "vcpkg-cmake", "host": true diff --git a/versions/baseline.json b/versions/baseline.json index 2adee1dec2..86da68bca3 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5817,7 +5817,7 @@ "port-version": 3 }, "poco": { - "baseline": "1.11.2", + "baseline": "1.12.4", "port-version": 0 }, "podofo": { diff --git a/versions/p-/poco.json b/versions/p-/poco.json index e6d2e5f905..d16076c445 100644 --- a/versions/p-/poco.json +++ b/versions/p-/poco.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7f1f1e3470aab1d1f823d15ad50bd439af4125d8", + "version": "1.12.4", + "port-version": 0 + }, { "git-tree": "de13e6b66833cb816a0f85528697c7ee63be89ae", "version": "1.11.2",