diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/yalantinglibs | |
Diffstat (limited to 'vcpkg/ports/yalantinglibs')
| -rw-r--r-- | vcpkg/ports/yalantinglibs/portfile.cmake | 33 | ||||
| -rw-r--r-- | vcpkg/ports/yalantinglibs/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/yalantinglibs/use-external-libs.patch | 28 | ||||
| -rw-r--r-- | vcpkg/ports/yalantinglibs/vcpkg.json | 35 |
4 files changed, 100 insertions, 0 deletions
diff --git a/vcpkg/ports/yalantinglibs/portfile.cmake b/vcpkg/ports/yalantinglibs/portfile.cmake new file mode 100644 index 0000000..3191396 --- /dev/null +++ b/vcpkg/ports/yalantinglibs/portfile.cmake @@ -0,0 +1,33 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO alibaba/yalantinglibs + REF "${VERSION}" + SHA512 7da5b6826526f01768deed76c323f03c666f6b91f65c0719c0a7d9991cc8e779337bf341ef3b0ec43d1a3f98cecfc0f09d0fe420bd7f546cdad856e69e64f4f6 + HEAD_REF main + PATCHES + use-external-libs.patch +) + +# Remove the vendored iguana and cinatra sources +file(REMOVE_RECURSE "${SOURCE_PATH}/include/ylt/standalone") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_BENCHMARK=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_UNIT_TESTS=OFF + -DINSTALL_THIRDPARTY=OFF + -DINSTALL_STANDALONE=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/yalantinglibs") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/yalantinglibs/usage b/vcpkg/ports/yalantinglibs/usage new file mode 100644 index 0000000..09a12d2 --- /dev/null +++ b/vcpkg/ports/yalantinglibs/usage @@ -0,0 +1,4 @@ +yalantinglibs provides CMake targets: + +find_package(yalantinglibs CONFIG REQUIRED) +target_link_libraries(main PRIVATE yalantinglibs::yalantinglibs) diff --git a/vcpkg/ports/yalantinglibs/use-external-libs.patch b/vcpkg/ports/yalantinglibs/use-external-libs.patch new file mode 100644 index 0000000..6beb351 --- /dev/null +++ b/vcpkg/ports/yalantinglibs/use-external-libs.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8cc8d32..1259d1f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,11 @@ project(yaLanTingLibs + LANGUAGES CXX + ) + ++find_path(IGUANA_INCLUDE_DIRS "iguana/common.hpp") ++include_directories(${IGUANA_INCLUDE_DIRS}) ++find_path(CINATRA_INCLUDE_DIRS "cinatra.hpp") ++include_directories(${CINATRA_INCLUDE_DIRS}) ++ + # load pack finder + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Find/) + +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 956195f..ad9df4e 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -24,7 +24,6 @@ target_include_directories(yalantinglibs INTERFACE + $<INSTALL_INTERFACE:include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../include/ylt/thirdparty> +- $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../include/ylt/standalone> + ) + install(TARGETS yalantinglibs + EXPORT yalantinglibsTargets diff --git a/vcpkg/ports/yalantinglibs/vcpkg.json b/vcpkg/ports/yalantinglibs/vcpkg.json new file mode 100644 index 0000000..043cdcb --- /dev/null +++ b/vcpkg/ports/yalantinglibs/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "yalantinglibs", + "version": "0.5.5", + "description": "A Collection of C++20 libraries, include struct_pack, struct_json, struct_xml, struct_yaml, struct_pb, easylog, coro_rpc, coro_http and async_simple", + "homepage": "https://github.com/alibaba/yalantinglibs", + "license": "Apache-2.0", + "supports": "!android", + "dependencies": [ + { + "name": "asio", + "version>=": "1.24.0" + }, + { + "name": "async-simple", + "version>=": "1.3" + }, + "cinatra", + { + "name": "frozen", + "version>=": "1.2.0" + }, + { + "name": "iguana", + "version>=": "1.0.9" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |