mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-26 04:49:02 +08:00
6647a76be8
* [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
95 lines
3.2 KiB
CMake
95 lines
3.2 KiB
CMake
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
|
|
|
# Required to run build/generate_escape_tables.py et al.
|
|
vcpkg_find_acquire_program(PYTHON3)
|
|
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
|
|
vcpkg_add_to_path("${PYTHON3_DIR}")
|
|
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO facebook/folly
|
|
REF v2022.01.31.00
|
|
SHA512 fef065c8a879e5b80eb521eaa09d2ac4eb22563e759834e60f665f07df5c2863c76217798680381bc51fad8c44f4b5d5abfb924a94c89635a41708abf6d70133
|
|
HEAD_REF main
|
|
PATCHES
|
|
reorder-glog-gflags.patch
|
|
disable-non-underscore-posix-names.patch
|
|
boost-1.70.patch
|
|
fix-windows-minmax.patch
|
|
)
|
|
|
|
file(COPY
|
|
"${CMAKE_CURRENT_LIST_DIR}/FindLZ4.cmake"
|
|
"${CMAKE_CURRENT_LIST_DIR}/FindSnappy.cmake"
|
|
DESTINATION "${SOURCE_PATH}/CMake/"
|
|
)
|
|
file(REMOVE "${SOURCE_PATH}/CMake/FindGFlags.cmake")
|
|
|
|
if(VCPKG_CRT_LINKAGE STREQUAL static)
|
|
set(MSVC_USE_STATIC_RUNTIME ON)
|
|
else()
|
|
set(MSVC_USE_STATIC_RUNTIME OFF)
|
|
endif()
|
|
|
|
set(FEATURE_OPTIONS)
|
|
|
|
macro(feature FEATURENAME PACKAGENAME)
|
|
if("${FEATURENAME}" IN_LIST FEATURES)
|
|
list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${PACKAGENAME}=OFF)
|
|
else()
|
|
list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${PACKAGENAME}=ON)
|
|
endif()
|
|
endmacro()
|
|
|
|
feature(zlib ZLIB)
|
|
feature(bzip2 BZip2)
|
|
feature(lzma LibLZMA)
|
|
feature(lz4 LZ4)
|
|
feature(zstd Zstd)
|
|
feature(snappy Snappy)
|
|
|
|
vcpkg_cmake_configure(
|
|
SOURCE_PATH ${SOURCE_PATH}
|
|
OPTIONS
|
|
-DMSVC_USE_STATIC_RUNTIME=${MSVC_USE_STATIC_RUNTIME}
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_LibDwarf=ON
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_Libiberty=ON
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_LibAIO=ON
|
|
-DLIBAIO_FOUND=OFF
|
|
-DLIBURCU_FOUND=OFF
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_LibURCU=ON
|
|
-DCMAKE_INSTALL_DIR=share/folly
|
|
${FEATURE_OPTIONS}
|
|
)
|
|
|
|
vcpkg_cmake_install(ADD_BIN_TO_PATH)
|
|
|
|
vcpkg_copy_pdbs()
|
|
|
|
vcpkg_cmake_config_fixup()
|
|
|
|
# Release folly-targets.cmake does not link to the right libraries in debug mode.
|
|
# We substitute with generator expressions so that the right libraries are linked for debug and release.
|
|
set(FOLLY_TARGETS_CMAKE "${CURRENT_PACKAGES_DIR}/share/folly/folly-targets.cmake")
|
|
FILE(READ ${FOLLY_TARGETS_CMAKE} _contents)
|
|
string(REPLACE "\${VCPKG_IMPORT_PREFIX}/lib/zlib.lib" "ZLIB::ZLIB" _contents "${_contents}")
|
|
STRING(REPLACE "\${VCPKG_IMPORT_PREFIX}/lib/" "\${VCPKG_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
|
|
STRING(REPLACE "\${VCPKG_IMPORT_PREFIX}/debug/lib/" "\${VCPKG_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
|
|
string(REPLACE "-vc140-mt.lib" "-vc140-mt\$<\$<CONFIG:DEBUG>:-gd>.lib" _contents "${_contents}")
|
|
FILE(WRITE ${FOLLY_TARGETS_CMAKE} "${_contents}")
|
|
FILE(READ "${CURRENT_PACKAGES_DIR}/share/folly/folly-config.cmake" _contents)
|
|
FILE(WRITE "${CURRENT_PACKAGES_DIR}/share/folly/folly-config.cmake"
|
|
"include(CMakeFindDependencyMacro)
|
|
find_dependency(Threads)
|
|
find_dependency(glog CONFIG)
|
|
find_dependency(gflags CONFIG REQUIRED)
|
|
find_dependency(ZLIB)
|
|
${_contents}")
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
|
|
|
# Handle copyright
|
|
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
|
|
|
vcpkg_fixup_pkgconfig()
|