Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions port_versions/a-/aws-sdk-cpp.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "bfc729671845a82f9c592a234f0daeacdde8daea",
"version-string": "1.8.83",
"port-version": 5
},
{
"git-tree": "1474856fe6fdeb8feab5068959e189bc9f6c0327",
"version-string": "1.8.83",
Expand Down
2 changes: 1 addition & 1 deletion port_versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@
},
"aws-sdk-cpp": {
"baseline": "1.8.83",
"port-version": 4
"port-version": 5
},
"azmq": {
"baseline": "2020-03-03",
Expand Down
4 changes: 2 additions & 2 deletions ports/aws-sdk-cpp/CONTROL
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Source: aws-sdk-cpp
Version: 1.8.83
Port-Version: 4
Port-Version: 5
Homepage: https://github.com/aws/aws-sdk-cpp
Description: AWS SDK for C++
Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream, zlib
Build-Depends: openssl (!uwp&!windows&!android), curl (!uwp&!windows&!android), aws-c-event-stream(!android), zlib(!android)
Default-Features: dynamodb, s3, kinesis
# Automatically generated by generateFeatures.ps1

Expand Down
91 changes: 91 additions & 0 deletions ports/aws-sdk-cpp/allow-vcpkg-chaining.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
diff --git a/cmake/build_external.cmake b/cmake/build_external.cmake
--- a/cmake/build_external.cmake (revision e98e5732ec7319051f162f7314ae361c85d0a8c9)
+++ b/cmake/build_external.cmake (date 1610744839203)
@@ -23,6 +23,11 @@
#zlib
#based on http://stackoverflow.com/questions/16842218/how-to-use-cmake-externalproject-add-or-alternatives-in-a-cross-platform-way
#likely, some of the things here are unnecessary
+ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
+ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}"
+ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}")
+ endif()
+
ExternalProject_Add(ZLIB
SOURCE_DIR ${ZLIB_SOURCE_DIR}
URL https://sdk.amazonaws.com/cpp/builds/zlib-1.2.11.tar.gz
@@ -31,6 +36,7 @@
CMAKE_ARGS
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
+ ${EXTRA_ARGS}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN}
@@ -70,6 +76,11 @@
set(OPENSSL_INCLUDE_FLAGS "-isystem ${OPENSSL_INCLUDE_DIR} -isystem ${OPENSSL_INCLUDE_DIR}/openssl" CACHE INTERNAL "compiler flags to find openssl includes")
set(OPENSSL_LINKER_FLAGS "-L${OPENSSL_LIBRARY_DIR}" CACHE INTERNAL "linker flags to find openssl")

+ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
+ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}"
+ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}")
+ endif()
+
ExternalProject_Add(OPENSSL
SOURCE_DIR ${OPENSSL_SOURCE_DIR}
GIT_REPOSITORY https://github.com/openssl/openssl.git
@@ -78,6 +89,7 @@
PATCH_COMMAND cd ${CMAKE_BINARY_DIR} && python ${AWS_NATIVE_SDK_ROOT}/android-build/configure_openssl_cmake.py --source ${AWS_NATIVE_SDK_ROOT} --dest ${OPENSSL_SOURCE_DIR}
CMAKE_ARGS
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
+ ${EXTRA_ARGS}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
@@ -120,6 +132,11 @@
set(CURL_USE_ZLIB "OFF")
endif()

+ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
+ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}"
+ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}")
+ endif()
+
ExternalProject_Add(CURL
DEPENDS ${CURL_OPENSSL_DEPENDENCY} ${CURL_ZLIB_DEPENDENCY}
SOURCE_DIR ${CURL_SOURCE_DIR}
@@ -130,6 +147,7 @@
CMAKE_ARGS
-C ${AWS_NATIVE_SDK_ROOT}/android-build/CurlAndroidCrossCompile.cmake
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
+ ${EXTRA_ARGS}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
@@ -146,7 +164,6 @@
-DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR}
-DCURL_STATICLIB=ON
-DBUILD_CURL_EXE=ON
- -DBUILD_CURL_TESTS=OFF
-DCURL_ZLIB=${CURL_USE_ZLIB}
)

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt (revision e98e5732ec7319051f162f7314ae361c85d0a8c9)
+++ b/CMakeLists.txt (date 1610744839158)
@@ -163,10 +163,16 @@
endif()
file(MAKE_DIRECTORY ${AWS_DEPS_BUILD_DIR})
if(TARGET_ARCH STREQUAL "ANDROID")
+ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
+ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}"
+ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}")
+ endif()
+
execute_process(
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR}
-DTARGET_ARCH=${TARGET_ARCH}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
+ ${EXTRA_ARGS}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
12 changes: 12 additions & 0 deletions ports/aws-sdk-cpp/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ vcpkg_from_github(
PATCHES
patch-relocatable-rpath.patch
fix-AWSSDKCONFIG.patch
allow-vcpkg-chaining.patch
)

string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT)
Expand All @@ -19,14 +20,25 @@ include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake)

if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
set(rpath "@loader_path")
elseif (VCPKG_TARGET_IS_ANDROID)
find_package(Git)

set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID"
"-DGIT_EXECUTABLE=${GIT_EXECUTABLE}"
"-DGIT_FOUND=${GIT_FOUND}"
"-DGIT_VERSION_STRING=${GIT_VERSION_STRING}"
"-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}"
)
else()
set(rpath "\$ORIGIN")
endif()

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
OPTIONS
${EXTRA_ARGS}
-DENABLE_UNITY_BUILD=ON
-DENABLE_TESTING=OFF
-DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}
Expand Down