vcpkg/ports/fizz/portfile.cmake
Billy O'Neal 6647a76be8
[fbthrift, fizz, folly, mvfst] Fix dependency resolution. (#23124)
* [fbthrift, fizz, folly] Fix dependency resolution.

Found by nightly build https://dev.azure.com/vcpkg/public/_build/results?buildId=67402

* wangle was fixed by a compiler update on a patch tuesday.
* this unblocked attempting fbthrift on x64-windows hosts, but it misses a header; added patch already merged upstream adding missing algorithm <include>
* fixed folly attempt to insert the right debug prefix which was broken by vcpkg_fixup_cmake_targets no longer generating _IMPORT_PREFIX.
* disable dynamic build of fbthrift on Windows because it tries to create DLLs with no import libs (because it makes no exports)

* Format and fix version database.

* Back out fizz patches.

* Block dynamic flavors. (The build in question builds an exe and expects all its dependencies to be linked statically and patching the build system to copy over the right DLLs seems out of scope)

* Add libevent patch.

* Also fixup mvfst and add missing CONFIG to patch.

* Remove unused patch.

* Fix version sha
2022-02-16 19:56:04 -08:00

41 lines
1.3 KiB
CMake

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebookincubator/fizz
REF v2022.01.31.00
SHA512 544f843f47cb6113d0ad804079e6d767f33723d9d529c2751c5c6317d65c35bd327b43852904b2a37c2af615276176fe2de667907a9a460c0dfc7593eca46459
HEAD_REF master
PATCHES
0001-fix-libsodium.patch
0002-fix-libevent.patch
)
# Prefer installed config files
file(REMOVE
${SOURCE_PATH}/fizz/cmake/FindGMock.cmake
${SOURCE_PATH}/fizz/cmake/FindGflags.cmake
${SOURCE_PATH}/fizz/cmake/FindGlog.cmake
${SOURCE_PATH}/fizz/cmake/FindLibevent.cmake
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/fizz"
OPTIONS
-DBUILD_TESTS=OFF
-DBUILD_EXAMPLES=OFF
-DINCLUDE_INSTALL_DIR:STRING=include
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fizz)
vcpkg_copy_pdbs()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fizz/fizz-config.cmake" "lib/cmake/fizz" "share/fizz")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/fizz/tool/test" "${CURRENT_PACKAGES_DIR}/include/fizz/util/test")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)