|
| 1 | +if(WIN32) |
| 2 | + # The lib uses CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS, at least until |
| 3 | + # https://github.com/litespeedtech/lsquic/pull/371 or similar is merged |
| 4 | + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) |
| 5 | +endif() |
| 6 | + |
| 7 | +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH |
| 8 | + REPO litespeedtech/lsquic |
| 9 | + REF v3.1.1 |
| 10 | + SHA512 b4675be355703fea12f4b7d24812b93e739b2dbef04e3d8108b6fbe45dd16c129c9e04e58cdcfdf2a4448ee2edea68565dbd2445a76515bbdc8d9980f4210bee |
| 11 | + HEAD_REF master |
| 12 | + PATCHES disable-asan.patch) |
| 13 | + |
| 14 | +# Submodules |
| 15 | +vcpkg_from_github(OUT_SOURCE_PATH LSQPACK_SOURCE_PATH |
| 16 | + REPO litespeedtech/ls-qpack |
| 17 | + REF v2.3.0 |
| 18 | + HEAD_REF master |
| 19 | + SHA512 7f5a9dd15bcd32c1bfafbecc5cea4da30f50a852c02d2bd140a2baaafd80ccb822c1701b0d20699af6367e9c712f4fe019741507c44156e9897d25162de0b8b4 |
| 20 | +) |
| 21 | +if(NOT EXISTS "${SOURCE_PATH}/src/ls-hpack/CMakeLists.txt") |
| 22 | + file(REMOVE_RECURSE "${SOURCE_PATH}/src/liblsquic/ls-qpack") |
| 23 | + file(RENAME "${LSQPACK_SOURCE_PATH}" "${SOURCE_PATH}/src/liblsquic/ls-qpack") |
| 24 | +endif() |
| 25 | + |
| 26 | +vcpkg_from_github(OUT_SOURCE_PATH LSHPACK_SOURCE_PATH |
| 27 | + REPO litespeedtech/ls-hpack |
| 28 | + REF v2.3.0 |
| 29 | + HEAD_REF master |
| 30 | + SHA512 45866b18042125cbbd008eed2935a938a42e1682030aa52ff4a324ddbad7bf9bd483161352cc8988bae668e132ee8b4b043ddc09d9e0316a66aaefd927ae2d76 |
| 31 | +) |
| 32 | +if(NOT EXISTS "${SOURCE_PATH}/src/lshpack/CMakeLists.txt") |
| 33 | + file(REMOVE_RECURSE "${SOURCE_PATH}/src/lshpack") |
| 34 | + file(RENAME "${LSHPACK_SOURCE_PATH}" "${SOURCE_PATH}/src/lshpack") |
| 35 | +endif() |
| 36 | + |
| 37 | +# Configuration |
| 38 | +vcpkg_find_acquire_program(PERL) |
| 39 | + |
| 40 | +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LSQUIC_SHARED_LIB) |
| 41 | + |
| 42 | +vcpkg_cmake_configure( |
| 43 | + SOURCE_PATH "${SOURCE_PATH}" |
| 44 | + OPTIONS |
| 45 | + "-DPERL=${PERL}" |
| 46 | + "-DPERL_EXECUTABLE=${PERL}" |
| 47 | + "-DLSQUIC_SHARED_LIB=${LSQUIC_SHARED_LIB}" |
| 48 | + "-DBORINGSSL_INCLUDE=${CURRENT_INSTALLED_DIR}/include" |
| 49 | + -DLSQUIC_BIN=OFF |
| 50 | + -DLSQUIC_TESTS=OFF |
| 51 | + OPTIONS_RELEASE |
| 52 | + "-DBORINGSSL_LIB=${CURRENT_INSTALLED_DIR}/lib" |
| 53 | + OPTIONS_DEBUG |
| 54 | + "-DBORINGSSL_LIB=${CURRENT_INSTALLED_DIR}/debug/lib" |
| 55 | + -DLSQUIC_DEVEL=ON |
| 56 | +) |
| 57 | + |
| 58 | +vcpkg_cmake_install() |
| 59 | +if(VCPKG_TARGET_IS_WINDOWS) |
| 60 | + # Upstream removed installation of this header after merging changes |
| 61 | + file(INSTALL "${SOURCE_PATH}/wincompat/vc_compat.h" DESTINATION "${CURRENT_INSTALLED_DIR}/include/lsquic") |
| 62 | +endif() |
| 63 | + |
| 64 | +vcpkg_cmake_config_fixup(PACKAGE_NAME lsquic) |
| 65 | + |
| 66 | +# Concatenate license files and install |
| 67 | +vcpkg_install_copyright(FILE_LIST |
| 68 | + "${SOURCE_PATH}/LICENSE" |
| 69 | + "${SOURCE_PATH}/LICENSE.chrome" |
| 70 | +) |
| 71 | + |
| 72 | +file(INSTALL "${CURRENT_BUILDTREES_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") |
| 73 | + |
| 74 | +# Remove duplicated include directory |
| 75 | +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") |
| 76 | + |
0 commit comments