]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/poco/portfile.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / poco / portfile.cmake
CommitLineData
1e59de90
TL
1vcpkg_fail_port_install(ON_TARGET "UWP")
2
3vcpkg_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
18file(REMOVE "${SOURCE_PATH}/Foundation/src/pcre.h")
19file(REMOVE "${SOURCE_PATH}/cmake/V39/FindEXPAT.cmake")
20file(REMOVE "${SOURCE_PATH}/cmake/V313/FindSQLite3.cmake")
21file(REMOVE "${SOURCE_PATH}/cmake/FindPCRE.cmake")
22file(REMOVE "${SOURCE_PATH}/cmake/FindMySQL.cmake")
23
24# define Poco linkage type
25string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC)
26string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT)
27
28vcpkg_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
37if ("mysql" IN_LIST FEATURES OR "mariadb" IN_LIST FEATURES)
38 set(POCO_USE_MYSQL ON)
39else()
40 set(POCO_USE_MYSQL OFF)
41endif()
42
43vcpkg_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
77vcpkg_install_cmake()
78
79vcpkg_copy_pdbs()
80
81# Move apps to the tools folder
82vcpkg_copy_tools(TOOL_NAMES cpspc f2cpsp PocoDoc tec AUTO_CLEAN)
83
84# Copy additional include files not part of any libraries
85if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL")
86 file(COPY ${SOURCE_PATH}/Data/include DESTINATION ${CURRENT_PACKAGES_DIR})
87endif()
88if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/MySQL")
89 file(COPY ${SOURCE_PATH}/Data/MySQL/include DESTINATION ${CURRENT_PACKAGES_DIR})
90endif()
91if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/ODBC")
92 file(COPY ${SOURCE_PATH}/Data/ODBC/include DESTINATION ${CURRENT_PACKAGES_DIR})
93endif()
94if(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)
97endif()
98if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/SQLite")
99 file(COPY ${SOURCE_PATH}/Data/SQLite/include DESTINATION ${CURRENT_PACKAGES_DIR})
100endif()
101
102if(VCPKG_TARGET_IS_WINDOWS)
103 vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
104else()
105 vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Poco)
106endif()
107
108file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
109file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
110file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)