]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | set(PCRE2_VERSION 10.35) |
2 | set(EXPECTED_SHA bf1cb6ab8b1103f9503609783945b02cdc4294bb266643d0ba03656c941f07b6e183793f3bf513da950460e78cb9b429bff8ade27d8930339a63caed3a3236e3) | |
3 | set(PATCHES | |
4 | pcre2-10.35_fix-space.patch # Upstream: https://bugs.exim.org/show_bug.cgi?id=2588 | |
5 | pcre2-10.35_fix-uwp.patch | |
6 | pcre2-10.35_fix_postfix_for_debug_Windows_builds.patch # Upstream: https://bugs.exim.org/show_bug.cgi?id=2600 | |
7 | pcre2-10.35_add_check_for_Intel_CET.patch # Upstream: https://bugs.exim.org/show_bug.cgi?id=2578 | |
8 | ) | |
9 | ||
10 | vcpkg_download_distfile(ARCHIVE | |
11 | URLS "https://ftp.pcre.org/pub/pcre/pcre2-${PCRE2_VERSION}.zip" | |
12 | FILENAME "pcre2-${PCRE2_VERSION}.zip" | |
13 | SHA512 ${EXPECTED_SHA} | |
14 | SILENT_EXIT | |
15 | ) | |
16 | ||
17 | if (EXISTS "${ARCHIVE}") | |
18 | vcpkg_extract_source_archive_ex( | |
19 | OUT_SOURCE_PATH SOURCE_PATH | |
20 | ARCHIVE ${ARCHIVE} | |
21 | PATCHES ${PATCHES} | |
22 | ) | |
23 | else() | |
24 | vcpkg_from_sourceforge( | |
25 | OUT_SOURCE_PATH SOURCE_PATH | |
26 | REPO pcre/pcre2 | |
27 | REF ${PCRE2_VERSION} | |
28 | FILENAME "pcre2-${PCRE2_VERSION}.zip" | |
29 | SHA512 ${EXPECTED_SHA} | |
30 | PATCHES ${PATCHES} | |
31 | ) | |
32 | endif() | |
33 | ||
34 | if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "iOS") | |
35 | set(JIT OFF) | |
36 | else() | |
37 | set(JIT ON) | |
38 | endif() | |
39 | ||
40 | vcpkg_configure_cmake( | |
41 | SOURCE_PATH ${SOURCE_PATH} | |
42 | PREFER_NINJA | |
43 | OPTIONS | |
44 | -DPCRE2_BUILD_PCRE2_8=ON | |
45 | -DPCRE2_BUILD_PCRE2_16=ON | |
46 | -DPCRE2_BUILD_PCRE2_32=ON | |
47 | -DPCRE2_SUPPORT_JIT=${JIT} | |
48 | -DPCRE2_SUPPORT_UNICODE=ON | |
49 | -DPCRE2_BUILD_TESTS=OFF | |
50 | -DPCRE2_BUILD_PCRE2GREP=OFF) | |
51 | ||
52 | vcpkg_install_cmake() | |
53 | ||
54 | file(READ ${CURRENT_PACKAGES_DIR}/include/pcre2.h PCRE2_H) | |
55 | if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") | |
56 | string(REPLACE "defined(PCRE2_STATIC)" "1" PCRE2_H "${PCRE2_H}") | |
57 | else() | |
58 | string(REPLACE "defined(PCRE2_STATIC)" "0" PCRE2_H "${PCRE2_H}") | |
59 | endif() | |
60 | file(WRITE ${CURRENT_PACKAGES_DIR}/include/pcre2.h "${PCRE2_H}") | |
61 | ||
62 | vcpkg_fixup_pkgconfig() | |
63 | ||
64 | vcpkg_copy_pdbs() | |
65 | ||
66 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/man) | |
67 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) | |
68 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) | |
69 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/man) | |
70 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) | |
71 | if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") | |
72 | file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") | |
73 | endif() | |
74 | ||
75 | file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |