]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | vcpkg_fail_port_install(ON_TARGET "UWP") |
2 | ||
3 | vcpkg_from_github( | |
4 | OUT_SOURCE_PATH SOURCE_PATH | |
5 | REPO pocoproject/poco | |
6 | REF 3fc3e5f5b8462f7666952b43381383a79b8b5d92 # poco-1.10.1-release | |
7 | SHA512 4c53a24a2ab9c57f4bf94e233da65cbb144c101b7d8d422d7e687d6c90ce0b53cb7bcfae63205ff30cade0fd07319e44a32035c1b15637ea2958986efc4ad5df | |
8 | HEAD_REF master | |
9 | PATCHES | |
10 | # Fix embedded copy of pcre in static linking mode | |
11 | static_pcre.patch | |
12 | # Add the support of arm64-windows | |
13 | arm64_pcre.patch | |
14 | fix_dependency.patch | |
15 | fix-feature-sqlite3.patch | |
16 | ) | |
17 | ||
18 | file(REMOVE "${SOURCE_PATH}/Foundation/src/pcre.h") | |
19 | file(REMOVE "${SOURCE_PATH}/cmake/V39/FindEXPAT.cmake") | |
20 | file(REMOVE "${SOURCE_PATH}/cmake/V313/FindSQLite3.cmake") | |
21 | file(REMOVE "${SOURCE_PATH}/cmake/FindPCRE.cmake") | |
22 | file(REMOVE "${SOURCE_PATH}/cmake/FindMySQL.cmake") | |
23 | ||
24 | # define Poco linkage type | |
25 | string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC) | |
26 | string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT) | |
27 | ||
28 | vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS | |
29 | pdf ENABLE_PDF | |
30 | netssl ENABLE_NETSSL | |
31 | netssl ENABLE_NETSSL_WIN | |
32 | netssl ENABLE_CRYPTO | |
33 | sqlite3 ENABLE_DATA_SQLITE | |
34 | postgresql ENABLE_DATA_POSTGRESQL | |
35 | ) | |
36 | ||
37 | if ("mysql" IN_LIST FEATURES OR "mariadb" IN_LIST FEATURES) | |
38 | set(POCO_USE_MYSQL ON) | |
39 | else() | |
40 | set(POCO_USE_MYSQL OFF) | |
41 | endif() | |
42 | ||
43 | vcpkg_configure_cmake( | |
44 | SOURCE_PATH ${SOURCE_PATH} | |
45 | PREFER_NINJA | |
46 | OPTIONS ${FEATURE_OPTIONS} | |
47 | # force to use dependencies as external | |
48 | -DPOCO_UNBUNDLED=ON | |
49 | # Define linking feature | |
50 | -DPOCO_STATIC=${POCO_STATIC} | |
51 | -DPOCO_MT=${POCO_MT} | |
52 | -DENABLE_TESTS=OFF | |
53 | -DENABLE_SAMPLES=OFF | |
54 | # Allow enabling and disabling components | |
55 | # POCO_ENABLE_SQL_ODBC, POCO_ENABLE_SQL_MYSQL and POCO_ENABLE_SQL_POSTGRESQL are | |
56 | # defined on the fly if the required librairies are present | |
57 | -DENABLE_ENCODINGS=ON | |
58 | -DENABLE_ENCODINGS_COMPILER=ON | |
59 | -DENABLE_XML=ON | |
60 | -DENABLE_JSON=ON | |
61 | -DENABLE_MONGODB=ON | |
62 | # -DPOCO_ENABLE_SQL_SQLITE=ON # SQLITE are not supported. | |
63 | -DENABLE_REDIS=ON | |
64 | -DENABLE_UTIL=ON | |
65 | -DENABLE_NET=ON | |
66 | -DENABLE_SEVENZIP=ON | |
67 | -DENABLE_ZIP=ON | |
68 | -DENABLE_CPPPARSER=ON | |
69 | -DENABLE_POCODOC=ON | |
70 | -DENABLE_PAGECOMPILER=ON | |
71 | -DENABLE_PAGECOMPILER_FILE2PAGE=ON | |
72 | -DPOCO_DISABLE_INTERNAL_OPENSSL=ON | |
73 | -DENABLE_APACHECONNECTOR=OFF | |
74 | -DENABLE_DATA_MYSQL=${POCO_USE_MYSQL} | |
75 | ) | |
76 | ||
77 | vcpkg_install_cmake() | |
78 | ||
79 | vcpkg_copy_pdbs() | |
80 | ||
81 | # Move apps to the tools folder | |
82 | vcpkg_copy_tools(TOOL_NAMES cpspc f2cpsp PocoDoc tec AUTO_CLEAN) | |
83 | ||
84 | # Copy additional include files not part of any libraries | |
85 | if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL") | |
86 | file(COPY ${SOURCE_PATH}/Data/include DESTINATION ${CURRENT_PACKAGES_DIR}) | |
87 | endif() | |
88 | if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/MySQL") | |
89 | file(COPY ${SOURCE_PATH}/Data/MySQL/include DESTINATION ${CURRENT_PACKAGES_DIR}) | |
90 | endif() | |
91 | if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/ODBC") | |
92 | file(COPY ${SOURCE_PATH}/Data/ODBC/include DESTINATION ${CURRENT_PACKAGES_DIR}) | |
93 | endif() | |
94 | if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/PostgreSQL") | |
95 | file(COPY ${SOURCE_PATH}/Data/PostgreSQL/include DESTINATION ${CURRENT_PACKAGES_DIR}) | |
96 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/libpq) | |
97 | endif() | |
98 | if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/SQLite") | |
99 | file(COPY ${SOURCE_PATH}/Data/SQLite/include DESTINATION ${CURRENT_PACKAGES_DIR}) | |
100 | endif() | |
101 | ||
102 | if(VCPKG_TARGET_IS_WINDOWS) | |
103 | vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) | |
104 | else() | |
105 | vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Poco) | |
106 | endif() | |
107 | ||
108 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) | |
109 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) | |
110 | file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |