diff options
Diffstat (limited to 'vcpkg/ports/fbthrift/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/fbthrift/portfile.cmake | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/vcpkg/ports/fbthrift/portfile.cmake b/vcpkg/ports/fbthrift/portfile.cmake new file mode 100644 index 0000000..aef64a4 --- /dev/null +++ b/vcpkg/ports/fbthrift/portfile.cmake @@ -0,0 +1,97 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO facebook/fbthrift + REF "v${VERSION}" + SHA512 957b58b32b7cd7cbf58ebe1e65f8c9befbe5d48d8fa33ea36ff40a04f6c34f362d88c03d0060fa6681cd7fc8b5aa7063fbd9c16ded23df0fb091031bcb0668c1 + HEAD_REF main + PATCHES + fix-deps.patch + fix-test.patch + folly-has-liburing.diff +) + +file(REMOVE "${SOURCE_PATH}/thrift/cmake/FindGMock.cmake") +file(REMOVE "${SOURCE_PATH}/thrift/cmake/FindOpenSSL.cmake") +file(REMOVE "${SOURCE_PATH}/thrift/cmake/FindZstd.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGflags.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGlog.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGMock.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindLibEvent.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindSodium.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindZstd.cmake") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-Dthriftpy=OFF" +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fbthrift) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# There should be no empty directories in vcpkg/packages/fbthrift_x64-linux +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/transport/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/util/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/async/metadata/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/debug_thrift_data_difference/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/detail/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/dynamic/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/folly_dynamic/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/frozen/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/patch/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/detail/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/tool" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/reflection/demo" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/reflection/docs" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/runtime/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/schema/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/extensions/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/server/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/core/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/common/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/server/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/inmemory/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/client/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/compression/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/framing/parser/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/payload/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/server/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/gtest/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/visitation/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/benchmark" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/any/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/benchmark" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/capi/benchmark" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/conformance" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/conformance/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/server/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/test/adapters" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/python/test/cpp_conversion" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/thrift/annotation" +) + +vcpkg_copy_tools(TOOL_NAMES thrift1 AUTO_CLEAN) +vcpkg_copy_pdbs() + +if(EXISTS "${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake" + "${PACKAGE_PREFIX_DIR}/lib/cmake/fbthrift" "${PACKAGE_PREFIX_DIR}/share/fbthrift") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake" + "${PACKAGE_PREFIX_DIR}/bin/thrift1.exe" "${PACKAGE_PREFIX_DIR}/tools/fbthrift/thrift1.exe") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake" + "${PACKAGE_PREFIX_DIR}/bin/thrift1" "${PACKAGE_PREFIX_DIR}/tools/fbthrift/thrift1") +endif() + +# Only used internally and removed in master +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftTargets.cmake" "LOCATION_HH=\\\"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/thrift/compiler/location.hh\\\"" "" IGNORE_UNCHANGED) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") |