aboutsummaryrefslogtreecommitdiff
path: root/ports/restc-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ports/restc-cpp')
-rw-r--r--ports/restc-cpp/0001-exclude-cmake-external-projects.patch24
-rw-r--r--ports/restc-cpp/portfile.cmake37
-rw-r--r--ports/restc-cpp/vcpkg.json40
3 files changed, 101 insertions, 0 deletions
diff --git a/ports/restc-cpp/0001-exclude-cmake-external-projects.patch b/ports/restc-cpp/0001-exclude-cmake-external-projects.patch
new file mode 100644
index 000000000..fff79c1f4
--- /dev/null
+++ b/ports/restc-cpp/0001-exclude-cmake-external-projects.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aa690fe..d3ff45d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,7 +16,7 @@ if (NOT DEFINED INSTALL_RAPIDJSON_HEADERS)
+ option(INSTALL_RAPIDJSON_HEADERS "Install rapidjson headers when make install is executed" ON)
+ endif()
+
+-include(cmake_scripts/external-projects.cmake)
++#include(cmake_scripts/external-projects.cmake)
+
+ if (EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+ message(STATUS "Using conan configuration: ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake")
+@@ -137,7 +137,9 @@ target_include_directories(${PROJECT_NAME}
+
+ SET_CPP_STANDARD(${PROJECT_NAME})
+
+-add_dependencies(${PROJECT_NAME} externalRapidJson)
++#add_dependencies(${PROJECT_NAME} externalRapidJson)
++find_package(RapidJSON CONFIG REQUIRED)
++target_include_directories(${PROJECT_NAME} PRIVATE ${RAPIDJSON_INCLUDE_DIRS})
+
+ if (NOT EMBEDDED_RESTC_CPP)
+
diff --git a/ports/restc-cpp/portfile.cmake b/ports/restc-cpp/portfile.cmake
new file mode 100644
index 000000000..764f39cfa
--- /dev/null
+++ b/ports/restc-cpp/portfile.cmake
@@ -0,0 +1,37 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO jgaa/restc-cpp
+ REF v0.10.0
+ SHA512 0f74d825d3958810c270748c2810953fe394d0bf1f147d81b9177803e29a86c702715d5995c5966c4fe671b7689f26d9a0fad4e82d111277bbd3ddce1a68f73a
+ HEAD_REF master
+ PATCHES
+ 0001-exclude-cmake-external-projects.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ openssl RESTC_CPP_WITH_TLS
+ zlib RESTC_CPP_WITH_ZLIB
+ threaded-ctx RESTC_CPP_THREADED_CTX
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DINSTALL_RAPIDJSON_HEADERS=OFF
+ -DRESTC_CPP_WITH_EXAMPLES=OFF
+ -DRESTC_CPP_WITH_UNIT_TESTS=OFF
+ -DRESTC_CPP_WITH_FUNCTIONALT_TESTS=OFF
+ ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/restc-cpp/vcpkg.json b/ports/restc-cpp/vcpkg.json
new file mode 100644
index 000000000..c50d95e0f
--- /dev/null
+++ b/ports/restc-cpp/vcpkg.json
@@ -0,0 +1,40 @@
+{
+ "name": "restc-cpp",
+ "version-semver": "0.10.0",
+ "description": "Modern C++ REST Client library",
+ "homepage": "https://github.com/jgaa/restc-cpp",
+ "license": "MIT",
+ "dependencies": [
+ "boost-chrono",
+ "boost-context",
+ "boost-coroutine",
+ "boost-date-time",
+ "boost-filesystem",
+ "boost-log",
+ "boost-program-options",
+ "boost-system",
+ "boost-uuid",
+ "rapidjson"
+ ],
+ "default-features": [
+ "openssl",
+ "zlib"
+ ],
+ "features": {
+ "openssl": {
+ "description": "OpenSSL support.",
+ "dependencies": [
+ "openssl"
+ ]
+ },
+ "threaded-ctx": {
+ "description": "Allow asio contexts with multiple threads. Enables thread-safe internal access."
+ },
+ "zlib": {
+ "description": "Use zlib.",
+ "dependencies": [
+ "zlib"
+ ]
+ }
+ }
+}