aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/c-ares
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/c-ares')
-rw-r--r--vcpkg/ports/c-ares/avoid-docs.patch13
-rw-r--r--vcpkg/ports/c-ares/portfile.cmake48
-rw-r--r--vcpkg/ports/c-ares/usage9
-rw-r--r--vcpkg/ports/c-ares/vcpkg.json23
4 files changed, 93 insertions, 0 deletions
diff --git a/vcpkg/ports/c-ares/avoid-docs.patch b/vcpkg/ports/c-ares/avoid-docs.patch
new file mode 100644
index 0000000..cd505ec
--- /dev/null
+++ b/vcpkg/ports/c-ares/avoid-docs.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 194485a..e903e50 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -618,7 +618,7 @@ ADD_SUBDIRECTORY (include)
+ ADD_SUBDIRECTORY (src)
+
+ # Docs
+-ADD_SUBDIRECTORY (docs)
++#ADD_SUBDIRECTORY (docs)
+
+ # Tests
+ IF (CARES_BUILD_TESTS OR CARES_BUILD_CONTAINER_TESTS)
diff --git a/vcpkg/ports/c-ares/portfile.cmake b/vcpkg/ports/c-ares/portfile.cmake
new file mode 100644
index 0000000..224cc78
--- /dev/null
+++ b/vcpkg/ports/c-ares/portfile.cmake
@@ -0,0 +1,48 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO c-ares/c-ares
+ REF "v${VERSION}"
+ SHA512 5c6b4422e158cef2943f7066fb8c738d9ac6f470cdb3ca5cf2b9fa26494f4fb1d7fef25a73d59d9f12aa8eaadc1da358c889d84ac8703b7e430134310bda45ba
+ HEAD_REF main
+ PATCHES
+ avoid-docs.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ tool CARES_BUILD_TOOLS
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DCARES_STATIC=${BUILD_STATIC}
+ -DCARES_SHARED=${BUILD_SHARED}
+ -DCARES_BUILD_TESTS=OFF
+ -DCARES_BUILD_CONTAINER_TESTS=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/c-ares)
+vcpkg_fixup_pkgconfig()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ vcpkg_replace_string(
+ "${CURRENT_PACKAGES_DIR}/include/ares.h"
+ "# ifdef CARES_STATICLIB" "#if 1"
+ )
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md")
+
+if ("tool" IN_LIST FEATURES)
+ vcpkg_copy_tools(TOOL_NAMES adig ahost AUTO_CLEAN)
+endif()
diff --git a/vcpkg/ports/c-ares/usage b/vcpkg/ports/c-ares/usage
new file mode 100644
index 0000000..20049c2
--- /dev/null
+++ b/vcpkg/ports/c-ares/usage
@@ -0,0 +1,9 @@
+c-ares provides CMake targets:
+
+ find_package(c-ares CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE c-ares::cares)
+
+c-ares provides pkg-config modules:
+
+ # asynchronous DNS lookup library
+ libcares
diff --git a/vcpkg/ports/c-ares/vcpkg.json b/vcpkg/ports/c-ares/vcpkg.json
new file mode 100644
index 0000000..3c5b503
--- /dev/null
+++ b/vcpkg/ports/c-ares/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "c-ares",
+ "version-semver": "1.34.5",
+ "port-version": 1,
+ "description": "A C library for asynchronous DNS requests",
+ "homepage": "https://github.com/c-ares/c-ares",
+ "license": "MIT-CMU",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "tool": {
+ "description": "Builds c-ares executables"
+ }
+ }
+}