aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJocelyn GENNESSEAUX <gennesseaux@users.noreply.github.com>2019-03-09 01:18:22 +0100
committerVictor Romero <romerosanchezv@gmail.com>2019-03-08 16:18:22 -0800
commite16cf98a5bfe99ab1fc1b736ff54e546d5bfb1d2 (patch)
tree7a1119ff60717c91878a54140f20fd9f6ffa5f98
parent7a5803413f33fbe97197b27c8736b50297d4e43f (diff)
downloadvcpkg-e16cf98a5bfe99ab1fc1b736ff54e546d5bfb1d2.tar.gz
vcpkg-e16cf98a5bfe99ab1fc1b736ff54e546d5bfb1d2.zip
[poco] pre 2.0.0 (#5503)
* [poco] pre 2.0.0 - Updated to the latest compiling commit - Added SQLite support - Added PDF support - Added MariaDB support - Added PostgreSQL support * Additional include files not part of any libraries * DataException is no more part of Poco::Data * [3fd] Patch 3fd to comply with poco-2.0.0pre
-rw-r--r--ports/3fd/CONTROL2
-rw-r--r--ports/3fd/DataException.patch107
-rw-r--r--ports/3fd/portfile.cmake1
-rw-r--r--ports/poco/CONTROL14
-rw-r--r--ports/poco/config_h.patch13
-rw-r--r--ports/poco/find_pcre.patch26
-rw-r--r--ports/poco/include_pcre.patch (renamed from ports/poco/foundation-public-include-pcre.patch)24
-rw-r--r--ports/poco/portfile.cmake121
-rw-r--r--ports/poco/static_pcre.patch (renamed from ports/poco/fix-static-internal-pcre.patch)54
-rw-r--r--ports/poco/unbundled_pdf.patch17
10 files changed, 292 insertions, 87 deletions
diff --git a/ports/3fd/CONTROL b/ports/3fd/CONTROL
index 13f769c9c..32e1e5d07 100644
--- a/ports/3fd/CONTROL
+++ b/ports/3fd/CONTROL
@@ -1,4 +1,4 @@
Source: 3fd
-Version: 2.6.2
+Version: 2.6.2-1
Description: C++ Framework For Fast Development
Build-Depends: boost-lockfree (windows), boost-regex (windows), poco (windows), sqlite3, rapidxml
diff --git a/ports/3fd/DataException.patch b/ports/3fd/DataException.patch
new file mode 100644
index 000000000..106411cc0
--- /dev/null
+++ b/ports/3fd/DataException.patch
@@ -0,0 +1,107 @@
+diff --git a/3FD/broker_impl_reader.cpp b/3FD/broker_impl_reader.cpp
+index 98bd68a..d5948b5 100644
+--- a/3FD/broker_impl_reader.cpp
++++ b/3FD/broker_impl_reader.cpp
+@@ -185,7 +185,7 @@ namespace broker
+
+ core::Logger::Write(oss.str(), core::Logger::PRIO_INFORMATION);
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ CALL_STACK_TRACE;
+ std::ostringstream oss;
+@@ -264,7 +264,7 @@ namespace broker
+
+ m_messages.reserve(msgCountStepLimit);
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ CALL_STACK_TRACE;
+ std::ostringstream oss;
+@@ -317,7 +317,7 @@ namespace broker
+ {
+ core::Logger::Write(ex, core::Logger::PRIO_CRITICAL);
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to end transaction reading messages from broker queue. "
+@@ -520,7 +520,7 @@ namespace broker
+ m_dbSession.rollback();
+ return true;
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to rollback transaction reading messages from broker queue. "
+@@ -563,7 +563,7 @@ namespace broker
+ m_dbSession.commit();
+ return true;
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to commit transaction reading messages from broker queue. "
+diff --git a/3FD/broker_impl_writer.cpp b/3FD/broker_impl_writer.cpp
+index b237ba4..f9531c4 100644
+--- a/3FD/broker_impl_writer.cpp
++++ b/3FD/broker_impl_writer.cpp
+@@ -241,7 +241,7 @@ namespace broker
+
+ core::Logger::Write(oss.str(), core::Logger::PRIO_INFORMATION);
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ CALL_STACK_TRACE;
+ std::ostringstream oss;
+@@ -348,7 +348,7 @@ namespace broker
+ {
+ core::Logger::Write(ex, core::Logger::PRIO_CRITICAL);
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to end transaction writing messages into broker queue. "
+@@ -405,7 +405,7 @@ namespace broker
+ {
+ m_future->get();
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to write messages into broker queue. "
+@@ -455,7 +455,7 @@ namespace broker
+ m_dbSession.rollback();
+ return true;
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to rollback transaction writing messages into broker queue. "
+@@ -498,7 +498,7 @@ namespace broker
+ m_dbSession.commit();
+ return true;
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to commit transaction writing messages into broker queue. "
+@@ -589,7 +589,7 @@ namespace broker
+ {
+ throw; // just forward exceptions from errors known to have been already handled
+ }
+- catch (Poco::Data::DataException &ex)
++ catch (Poco::DataException &ex)
+ {
+ std::ostringstream oss;
+ oss << "Failed to write messages into broker queue. "
diff --git a/ports/3fd/portfile.cmake b/ports/3fd/portfile.cmake
index 69fc60ccb..513bb9a03 100644
--- a/ports/3fd/portfile.cmake
+++ b/ports/3fd/portfile.cmake
@@ -31,6 +31,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
"${CMAKE_CURRENT_LIST_DIR}/remove-seekpos.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/DataException.patch"
)
# Copy the sources to ensure a clean, out-of-source build
diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL
index 5817429fa..640d9b91c 100644
--- a/ports/poco/CONTROL
+++ b/ports/poco/CONTROL
@@ -1,8 +1,16 @@
Source: poco
-Version: 1.9.0-1
-Build-Depends: zlib, pcre, sqlite3, expat
-Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.
+Version: 2.0.0-pre
+Build-Depends: expat, libpq, pcre, sqlite3, zlib
+Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems. (https://github.com/pocoproject/poco)
Feature: mysql
Build-Depends: libmysql
Description: Mysql support for POCO
+
+Feature: mariadb
+Build-Depends: libmariadb
+Description: MariaDB support for POCO
+
+Feature: postgresql
+Build-Depends: libpqxx
+Description: PostgreSQL support for POCO
diff --git a/ports/poco/config_h.patch b/ports/poco/config_h.patch
deleted file mode 100644
index 1387fd0c9..000000000
--- a/ports/poco/config_h.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Foundation/include/Poco/Config.h b/Foundation/include/Poco/Config.h
-index 003b6dc..55b8eed 100644
---- a/Foundation/include/Poco/Config.h
-+++ b/Foundation/include/Poco/Config.h
-@@ -31,7 +31,7 @@
-
-
- // Define to disable implicit linking
--// #define POCO_NO_AUTOMATIC_LIBS
-+#define POCO_NO_AUTOMATIC_LIBS
-
-
- // Define to disable automatic initialization
diff --git a/ports/poco/find_pcre.patch b/ports/poco/find_pcre.patch
index b846660f7..1a07882bc 100644
--- a/ports/poco/find_pcre.patch
+++ b/ports/poco/find_pcre.patch
@@ -1,13 +1,13 @@
-diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake
-index 03f07df..4da1895 100644
---- a/cmake/FindPCRE.cmake
-+++ b/cmake/FindPCRE.cmake
-@@ -16,7 +16,7 @@ ENDIF (PCRE_INCLUDE_DIRS)
-
- FIND_PATH(PCRE_INCLUDE_DIR pcre.h)
-
--SET(PCRE_NAMES pcre)
-+SET(PCRE_NAMES pcred pcre)
- FIND_LIBRARY(PCRE_LIBRARY NAMES ${PCRE_NAMES} )
-
- # handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if
+diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake
+index 41a99cb..77f3a42 100644
+--- a/cmake/FindPCRE.cmake
++++ b/cmake/FindPCRE.cmake
+@@ -14,7 +14,7 @@ ENDIF (PCRE_INCLUDE_DIRS)
+
+ FIND_PATH(PCRE_INCLUDE_DIR pcre.h)
+
+-SET(PCRE_NAMES pcre)
++SET(PCRE_NAMES pcred pcre)
+ FIND_LIBRARY(PCRE_LIBRARY NAMES ${PCRE_NAMES} )
+
+ # handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if
diff --git a/ports/poco/foundation-public-include-pcre.patch b/ports/poco/include_pcre.patch
index ab4403ad8..6594a30fe 100644
--- a/ports/poco/foundation-public-include-pcre.patch
+++ b/ports/poco/include_pcre.patch
@@ -1,12 +1,12 @@
-diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt
-index 76005b1..efc99b6 100644
---- a/Foundation/CMakeLists.txt
-+++ b/Foundation/CMakeLists.txt
-@@ -166,6 +166,7 @@ target_link_libraries( "${LIBNAME}" ${SYSLIBS})
- target_include_directories( "${LIBNAME}"
- PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-+ $<BUILD_INTERFACE:${PCRE_INCLUDE_DIRS}>
- $<INSTALL_INTERFACE:include>
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
- )
+diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt
+index 5b7df96..4fedfd5 100644
+--- a/Foundation/CMakeLists.txt
++++ b/Foundation/CMakeLists.txt
+@@ -101,6 +101,7 @@ target_link_libraries(Foundation PUBLIC ${PCRE_LIBRARIES} ${ZLIB_LIBRARIES})
+ target_include_directories(Foundation
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
++ $<BUILD_INTERFACE:${PCRE_INCLUDE_DIRS}>
+ $<INSTALL_INTERFACE:include>
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
+ )
diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake
index 0eb160daa..2aaa89295 100644
--- a/ports/poco/portfile.cmake
+++ b/ports/poco/portfile.cmake
@@ -1,55 +1,125 @@
include(vcpkg_common_functions)
+# Poco 2.0.0 (pre)
+# commit 46e00c8
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pocoproject/poco
- REF poco-1.9.0-release
- SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9
+ REF 46e00c8d6f6d03864397c3e517a165e82f9efd5e
+ SHA512 2c2f5048b7bfbbfe47ac303ed79213197c97f3d90362dd2d7629c8b353a6c8bd303b1bcf477e3493cc6c984645822ca043dd0a77e9186e001e6808dc2d17a5b4
HEAD_REF develop
PATCHES
- config_h.patch
+ # Find pcre in debug
find_pcre.patch
- foundation-public-include-pcre.patch
- fix-static-internal-pcre.patch
+ # Add include path to public interface for static build
+ include_pcre.patch
+ # Fix embedded copy of pcre in static linking mode
+ static_pcre.patch
+ # Fix source path of PDF
+ unbundled_pdf.patch
)
+# define Poco linkage type
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT)
-if("mysql" IN_LIST FEATURES)
- # enabling MySQL support
- set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql")
- set(MYSQL_LIB "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib")
- set(MYSQL_LIB_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib")
+# MySQL / MariaDDB feature
+if("mysql" IN_LIST FEATURES OR "mariadb" IN_LIST FEATURES)
+ if("mysql" IN_LIST FEATURES)
+ # enabling MySQL support
+ set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql")
+ set(MYSQL_LIBRARY "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib")
+ set(MYSQL_LIBRARY_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib")
+ endif()
+ if("mariadb" IN_LIST FEATURES)
+ # enabling MariaDB support
+ set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql")
+ set(MYSQL_LIBRARY "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib")
+ set(MYSQL_LIBRARY_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib")
+ endif()
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
+ #PREFER_NINJA
OPTIONS
+ # Set to OFF|ON (default is OFF) to control linking dependencies as external
+ -DPOCO_UNBUNDLED=ON
+ # Define linking feature
-DPOCO_STATIC=${POCO_STATIC}
-DPOCO_MT=${POCO_MT}
- -DENABLE_SEVENZIP=ON
- -DENABLE_TESTS=OFF
- -DPOCO_UNBUNDLED=ON # OFF means: using internal copy of sqlite, libz, pcre, expat, ...
+ # Set to OFF|ON (default is OFF) to control build of POCO tests
+ -DPOCO_ENABLE_TESTS=OFF
+ # Set to OFF|ON (default is OFF) to control build of POCO samples
+ -DPOCO_ENABLE_SAMPLES=OFF
+ # Allow enabling and disabling components
+ # POCO_ENABLE_SQL_ODBC, POCO_ENABLE_SQL_MYSQL and POCO_ENABLE_SQL_POSTGRESQL are
+ # defined on the fly if the required librairies are present
+ -DPOCO_ENABLE_ENCODINGS=ON
+ -DPOCO_ENABLE_ENCODINGS_COMPILER=ON
+ -DPOCO_ENABLE_XML=ON
+ -DPOCO_ENABLE_JSON=ON
+ -DPOCO_ENABLE_MONGODB=ON
+ -DPOCO_ENABLE_SQL_SQLITE=ON
+ -DPOCO_ENABLE_REDIS=ON
+ -DPOCO_ENABLE_PDF=ON
+ -DPOCO_ENABLE_UTIL=ON
+ -DPOCO_ENABLE_NET=ON
+ -DPOCO_ENABLE_SEVENZIP=ON
+ -DPOCO_ENABLE_ZIP=ON
+ -DPOCO_ENABLE_CPPPARSER=ON
+ -DPOCO_ENABLE_POCODOC=ON
+ -DPOCO_ENABLE_PAGECOMPILER=ON
+ -DPOCO_ENABLE_PAGECOMPILER_FILE2PAGE=ON
+ -DPOCO_ENABLE_WSTRING=ON
+ -DPOCO_ENABLE_FPENVIRONMENT=ON
+ -DPOCO_ENABLE_CPPUNIT=ON
+ #
-DMYSQL_INCLUDE_DIR=${MYSQL_INCLUDE_DIR}
OPTIONS_RELEASE
- -DMYSQL_LIB=${MYSQL_LIB}
+ -DMYSQL_LIBRARY=${MYSQL_LIBRARY}
OPTIONS_DEBUG
- -DMYSQL_LIB=${MYSQL_LIB_DEBUG}
+ -DMYSQL_LIBRARY=${MYSQL_LIBRARY_DEBUG}
)
vcpkg_install_cmake()
+
+# 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})
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/MySQL")
+ file(COPY ${SOURCE_PATH}/Data/MySQL/include DESTINATION ${CURRENT_PACKAGES_DIR})
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/ODBC")
+ file(COPY ${SOURCE_PATH}/Data/ODBC/include DESTINATION ${CURRENT_PACKAGES_DIR})
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/PostgreSQL")
+ file(COPY ${SOURCE_PATH}/Data/PostgreSQL/include DESTINATION ${CURRENT_PACKAGES_DIR})
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/libpq)
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/SQLite")
+ file(COPY ${SOURCE_PATH}/Data/SQLite/include DESTINATION ${CURRENT_PACKAGES_DIR})
+endif()
+
+
+# Move apps to the tools folder
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/cpspc.exe")
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc.exe ${CURRENT_PACKAGES_DIR}/tools/cpspc.exe)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp.exe ${CURRENT_PACKAGES_DIR}/tools/f2cpsp.exe)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/PocoDoc.exe ${CURRENT_PACKAGES_DIR}/tools/PocoDoc.exe)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/tec.exe ${CURRENT_PACKAGES_DIR}/tools/tec.exe)
else()
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc ${CURRENT_PACKAGES_DIR}/tools/cpspc)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp ${CURRENT_PACKAGES_DIR}/tools/f2cpsp)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/PocoDoc ${CURRENT_PACKAGES_DIR}/tools/PocoDoc)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/tec ${CURRENT_PACKAGES_DIR}/tools/tec)
endif()
+
+#
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
@@ -58,15 +128,30 @@ else()
file(REMOVE
${CURRENT_PACKAGES_DIR}/bin/cpspc.pdb
${CURRENT_PACKAGES_DIR}/bin/f2cpsp.pdb
+ ${CURRENT_PACKAGES_DIR}/bin/PocoDoc.pdb
+ ${CURRENT_PACKAGES_DIR}/bin/tec.pdb
${CURRENT_PACKAGES_DIR}/debug/bin/cpspc.exe
${CURRENT_PACKAGES_DIR}/debug/bin/cpspc.pdb
${CURRENT_PACKAGES_DIR}/debug/bin/f2cpsp.exe
- ${CURRENT_PACKAGES_DIR}/debug/bin/f2cpsp.pdb)
+ ${CURRENT_PACKAGES_DIR}/debug/bin/f2cpsp.pdb
+ ${CURRENT_PACKAGES_DIR}/debug/bin/PocoDoc.exe
+ ${CURRENT_PACKAGES_DIR}/debug/bin/PocoDoc.pdb
+ ${CURRENT_PACKAGES_DIR}/debug/bin/tec.exe
+ ${CURRENT_PACKAGES_DIR}/debug/bin/tec.pdb)
endif()
+#
+if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake")
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake")
+elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/Poco")
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Poco")
+endif()
+
+# remove unused files
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Poco)
# copy license
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/poco)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/poco/LICENSE ${CURRENT_PACKAGES_DIR}/share/poco/copyright)
+
+vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/poco/fix-static-internal-pcre.patch b/ports/poco/static_pcre.patch
index 970f9e246..b9bac7629 100644
--- a/ports/poco/fix-static-internal-pcre.patch
+++ b/ports/poco/static_pcre.patch
@@ -1,27 +1,27 @@
-diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt
-index d47ced2..ddead59 100644
---- a/Foundation/CMakeLists.txt
-+++ b/Foundation/CMakeLists.txt
-@@ -48,6 +48,22 @@ if (POCO_UNBUNDLED)
-
- add_definitions(-DPOCO_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
-+ )
-+
- else()
- # pcre
- POCO_SOURCES( SRCS pcre
+diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt
+index 4fedfd5..741313b 100644
+--- a/Foundation/CMakeLists.txt
++++ b/Foundation/CMakeLists.txt
+@@ -35,6 +35,22 @@ if (POCO_UNBUNDLED)
+ find_package(PCRE REQUIRED)
+ find_package(ZLIB REQUIRED)
+
++ 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
++ )
++
+ #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library
+ POCO_SOURCES( SRCS RegExp
+ src/pcre_ucd.c
diff --git a/ports/poco/unbundled_pdf.patch b/ports/poco/unbundled_pdf.patch
new file mode 100644
index 000000000..b7abcf541
--- /dev/null
+++ b/ports/poco/unbundled_pdf.patch
@@ -0,0 +1,17 @@
+diff --git a/PDF/CMakeLists.txt b/PDF/CMakeLists.txt
+index b377035..9cfbd32 100644
+--- a/PDF/CMakeLists.txt
++++ b/PDF/CMakeLists.txt
+@@ -31,6 +31,12 @@ endif (POCO_UNBUNDLED)
+ # TODO: Currently only bundled is supported, in future this should also be possible
+ # with an unbundled version of hpdf
+ # hpdf
++if (POCO_UNBUNDLED)
++ POCO_SOURCES( SRCS hpdf
++ src/bmpread.c
++ )
++endif (POCO_UNBUNDLED)
++
+ POCO_SOURCES(SRCS hpdf
+ src/hpdf_3dmeasure.c
+ src/hpdf_annotation.c