aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/ngtcp2
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/ngtcp2')
-rw-r--r--vcpkg/ports/ngtcp2/portfile.cmake47
-rw-r--r--vcpkg/ports/ngtcp2/vcpkg.json49
2 files changed, 96 insertions, 0 deletions
diff --git a/vcpkg/ports/ngtcp2/portfile.cmake b/vcpkg/ports/ngtcp2/portfile.cmake
new file mode 100644
index 0000000..a8758e6
--- /dev/null
+++ b/vcpkg/ports/ngtcp2/portfile.cmake
@@ -0,0 +1,47 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ngtcp2/ngtcp2
+ REF "v${VERSION}"
+ SHA512 c94047ea24470d17bca057b2bf105845826b9f098938a83f4c44cd895e2cc2ee2e2162e32a8a47c2e7375d52e73286804b3dff369cbc6de20aaa9f9d9989ffbc
+ HEAD_REF main
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC_LIB)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED_LIB)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ wolfssl ENABLE_WOLFSSL
+ gnutls ENABLE_GNUTLS
+ openssl ENABLE_OPENSSL
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ "-DENABLE_STATIC_LIB=${ENABLE_STATIC_LIB}"
+ "-DENABLE_SHARED_LIB=${ENABLE_SHARED_LIB}"
+ -DBUILD_TESTING=OFF
+ -DCMAKE_DISABLE_FIND_PACKAGE_Libev=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Libnghttp3=ON
+ -DCMAKE_INSTALL_DOCDIR=share/ngtcp2
+)
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_fixup_pkgconfig()
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/ngtcp2")
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ngtcp2/ngtcp2.h"
+ "#ifdef NGTCP2_STATICLIB"
+ "#if 1"
+ )
+endif()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/ngtcp2/vcpkg.json b/vcpkg/ports/ngtcp2/vcpkg.json
new file mode 100644
index 0000000..6569e58
--- /dev/null
+++ b/vcpkg/ports/ngtcp2/vcpkg.json
@@ -0,0 +1,49 @@
+{
+ "name": "ngtcp2",
+ "version": "1.17.0",
+ "description": "ngtcp2 project is an effort to implement RFC9000 QUIC protocol.",
+ "homepage": "https://github.com/ngtcp2/ngtcp2",
+ "license": "MIT",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "gnutls": {
+ "description": "Compile with gnutls",
+ "dependencies": [
+ {
+ "name": "libgnutls",
+ "platform": "!windows | mingw"
+ },
+ {
+ "name": "shiftmedia-libgnutls",
+ "platform": "windows & !mingw"
+ }
+ ]
+ },
+ "openssl": {
+ "description": "Compile with openssl",
+ "dependencies": [
+ "openssl"
+ ]
+ },
+ "wolfssl": {
+ "description": "Compile with wolfssl",
+ "dependencies": [
+ {
+ "name": "wolfssl",
+ "features": [
+ "quic"
+ ]
+ }
+ ]
+ }
+ }
+}