From 587cd223b4ec2f95ac49d393843107bdbd9d8d76 Mon Sep 17 00:00:00 2001 From: EfesX Date: Wed, 22 May 2024 03:29:01 +0500 Subject: [PATCH] [hdr-histogram] add new port (#38810) - [x] Changes comply with the [maintainer guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md). - [x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines. - [x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all `find_package` calls are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or disabled with [CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html). - [x] The versioning scheme in `vcpkg.json` matches what upstream says. - [x] The license declaration in `vcpkg.json` matches what upstream says. - [x] The installed as the "copyright" file matches what upstream says. - [x] The source code of the component installed comes from an authoritative source. - [x] The generated "usage text" is accurate. See [adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md) for context. - [x] The version database is fixed by rerunning `./vcpkg x-add-version --all` and committing the result. - [x] Only one version is in the new port's versions file. - [x] Only one version is added to each modified port's versions file. --------- Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> --- ports/hdr-histogram/portfile.cmake | 51 ++++++++++++++++++++++++++++++ ports/hdr-histogram/usage | 4 +++ ports/hdr-histogram/vcpkg.json | 26 +++++++++++++++ versions/baseline.json | 4 +++ versions/h-/hdr-histogram.json | 9 ++++++ 5 files changed, 94 insertions(+) create mode 100644 ports/hdr-histogram/portfile.cmake create mode 100644 ports/hdr-histogram/usage create mode 100644 ports/hdr-histogram/vcpkg.json create mode 100644 versions/h-/hdr-histogram.json diff --git a/ports/hdr-histogram/portfile.cmake b/ports/hdr-histogram/portfile.cmake new file mode 100644 index 0000000000..265e72bb9e --- /dev/null +++ b/ports/hdr-histogram/portfile.cmake @@ -0,0 +1,51 @@ +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO HdrHistogram/HdrHistogram_c + REF ${VERSION} + SHA512 2ede4b8412c4f0070d555515498e163397de5edebe7560eaea13adcb95a52b7fea99686aed06bbca0c6e8afdf65715483c3889d750f6b5b727bcf43c4fbe18d4 + HEAD_REF main +) + +if("log" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DHDR_LOG_REQUIRED=ON") +else() + list(APPEND FEATURE_OPTIONS "-DHDR_LOG_REQUIRED=DISABLED") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_BUILD_STATIC:BOOL=OFF") + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_INSTALL_STATIC:BOOL=OFF") +else() + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_BUILD_SHARED:BOOL=OFF") + list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_INSTALL_SHARED:BOOL=OFF") +endif() + +# Do not build tests and examples +list(APPEND FEATURE_OPTIONS "-DHDR_HISTOGRAM_BUILD_PROGRAMS:BOOL=OFF") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME hdr_histogram + CONFIG_PATH lib/cmake/hdr_histogram +) + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" "${SOURCE_PATH}/COPYING.txt") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/hdr-histogram/usage b/ports/hdr-histogram/usage new file mode 100644 index 0000000000..5eaa6dce03 --- /dev/null +++ b/ports/hdr-histogram/usage @@ -0,0 +1,4 @@ +hdr_histogram provides CMake targets: + + find_package(hdr_histogram CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,hdr_histogram::hdr_histogram,hdr_histogram::hdr_histogram_static>) diff --git a/ports/hdr-histogram/vcpkg.json b/ports/hdr-histogram/vcpkg.json new file mode 100644 index 0000000000..a09be7dd1f --- /dev/null +++ b/ports/hdr-histogram/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "hdr-histogram", + "version-semver": "0.11.8", + "description": "'C' port of High Dynamic Range (HDR) Histogram", + "homepage": "https://github.com/HdrHistogram/HdrHistogram_c", + "license": "CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "features": { + "log": { + "description": "Logging support for HdrHistogram", + "dependencies": [ + "zlib" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 7015d7b3d7..b69f39880f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3376,6 +3376,10 @@ "baseline": "1.14.2", "port-version": 0 }, + "hdr-histogram": { + "baseline": "0.11.8", + "port-version": 0 + }, "healpix": { "baseline": "1.12.10", "port-version": 9 diff --git a/versions/h-/hdr-histogram.json b/versions/h-/hdr-histogram.json new file mode 100644 index 0000000000..c3c2af4ed6 --- /dev/null +++ b/versions/h-/hdr-histogram.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e7c8179ec8d0d5a49010bea92f143f011de137da", + "version-semver": "0.11.8", + "port-version": 0 + } + ] +}