vcpkg/ports/capnproto/portfile.cmake
Stig Hornang a1703aa3e8
[capnproto] Update to v1.0.1 (#33446)
Updated to include capnproto f4152f83b which fixes error C7692:
"rewritten candidate function was excluded..." which occurs when
building with MSVC 2022.

The updated code brings in another bug which is only fixed in the v2
branch of capnproto (not in master which is used here). The first
patch in this commit disables the problematic code by disabling the
coroutine check in async-prelude.h

The second patch disables KJ_USE_EPOLL for Android NDK version < 23
where sigtimedwait is not defined.
2023-09-05 22:32:34 -07:00

41 lines
1.2 KiB
CMake

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO capnproto/capnproto
REF v1.0.1
SHA512 189d8c483bded3889e903e3998d32d022b5a7bf45d519dc551dc9b2d7909a45a8816a09f4a817aa0fbb14c86c32b838a0c26457c2e89c33ec0eb93bbb93391c0
HEAD_REF master
PATCHES
disable-C-20-co-routines.patch
undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"openssl" OPENSSL_FEATURE
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_TESTING=OFF
"-DWITH_OPENSSL=${OPENSSL_FEATURE}"
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/CapnProto)
vcpkg_copy_tools(TOOL_NAMES capnp capnpc-c++ capnpc-capnp AUTO_CLEAN)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
vcpkg_fixup_pkgconfig()