aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilly O'Neal <bion@microsoft.com>2019-08-06 10:35:35 -0700
committerCurtis J Bezault <curtbezault@gmail.com>2019-08-06 13:35:35 -0400
commit99b00d84760859e55978f1eed4e7db08cb663ee6 (patch)
tree6b0f9cb247e3a506390bb5d6ade03755efa21d5c
parent450f09c7a8f955ed722acd3791d9080a039da2a0 (diff)
downloadvcpkg-99b00d84760859e55978f1eed4e7db08cb663ee6.tar.gz
vcpkg-99b00d84760859e55978f1eed4e7db08cb663ee6.zip
Repair compression dependency bugs in cpprestsdk (#7472)
* Repair compression dependency bugs in cpprestsdk * Make it possible to turn off HTTP compression entirely to remove the zlib dependency in cpprestsdk. * Use the actual default features feature instead of a default features feature hack. * Actually hook up the Brotli setting so that someone installing that feature actually gets it. * Attempt to fix default-features.
-rw-r--r--ports/cpprestsdk/CONTROL14
-rw-r--r--ports/cpprestsdk/portfile.cmake17
2 files changed, 21 insertions, 10 deletions
diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL
index be8d24045..877164673 100644
--- a/ports/cpprestsdk/CONTROL
+++ b/ports/cpprestsdk/CONTROL
@@ -1,19 +1,23 @@
Source: cpprestsdk
-Version: 2.10.14
-Build-Depends: zlib, openssl (!uwp&!windows), boost-system (!uwp&!windows), boost-date-time (!uwp&!windows), boost-regex (!uwp&!windows), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows), boost-asio (!uwp&!windows)
+Version: 2.10.14-1
+Build-Depends: openssl (!uwp&!windows), boost-system (!uwp&!windows), boost-date-time (!uwp&!windows), boost-regex (!uwp&!windows), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows), boost-asio (!uwp&!windows)
Homepage: https://github.com/Microsoft/cpprestsdk
Description: C++11 JSON, REST, and OAuth library
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
Default-Features: default-features
Feature: default-features
-Build-Depends: cpprestsdk[brotli] (windows), cpprestsdk[websockets]
+Build-Depends: cpprestsdk[brotli] (windows), cpprestsdk[core], cpprestsdk[compression], cpprestsdk[websockets]
Description: Features installed by default
+Feature: compression
+Build-Depends: zlib
+Description: HTTP Compression support
+
Feature: websockets
-Build-Depends: websocketpp (!uwp), openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp)
+Build-Depends: cpprestsdk[core], cpprestsdk[compression], websocketpp (!uwp), openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp)
Description: Websockets support
Feature: brotli
-Build-Depends: brotli
+Build-Depends: cpprestsdk[core], cpprestsdk[compression], brotli
Description: Brotli compression support
diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake
index 8add4c1ab..4a6dad142 100644
--- a/ports/cpprestsdk/portfile.cmake
+++ b/ports/cpprestsdk/portfile.cmake
@@ -16,16 +16,21 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
-DWEBSOCKETPP_CONFIG_VERSION=${WEBSOCKETPP_PATH})
endif()
-set(CPPREST_EXCLUDE_WEBSOCKETS ON)
-if("websockets" IN_LIST FEATURES)
- set(CPPREST_EXCLUDE_WEBSOCKETS OFF)
-endif()
-
set(CPPREST_EXCLUDE_BROTLI ON)
if ("brotli" IN_LIST FEATURES)
set(CPPREST_EXCLUDE_BROTLI OFF)
endif()
+set(CPPREST_EXCLUDE_COMPRESSION ON)
+if ("compression" IN_LIST FEATURES)
+ set(CPPREST_EXCLUDE_COMPRESSION OFF)
+endif()
+
+set(CPPREST_EXCLUDE_WEBSOCKETS ON)
+if("websockets" IN_LIST FEATURES)
+ set(CPPREST_EXCLUDE_WEBSOCKETS OFF)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/Release
PREFER_NINJA
@@ -33,6 +38,8 @@ vcpkg_configure_cmake(
${OPTIONS}
-DBUILD_TESTS=OFF
-DBUILD_SAMPLES=OFF
+ -DCPPREST_EXCLUDE_BROTLI=${CPPREST_EXCLUDE_BROTLI}
+ -DCPPREST_EXCLUDE_COMPRESSION=${CPPREST_EXCLUDE_COMPRESSION}
-DCPPREST_EXCLUDE_WEBSOCKETS=${CPPREST_EXCLUDE_WEBSOCKETS}
-DCPPREST_EXPORT_DIR=share/cpprestsdk
-DWERROR=OFF