-
Notifications
You must be signed in to change notification settings - Fork 186
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4f7f96c
commit b0502be
Showing
9 changed files
with
1,587 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
diff --git a/toolchains/core-config.cmake b/toolchains/core-config.cmake | ||
index d90bfaf747..ab14402577 100644 | ||
--- a/toolchains/core-config.cmake | ||
+++ b/toolchains/core-config.cmake | ||
@@ -15,5 +15,9 @@ if (AWSSDK_CRYPTO_IN_SOURCE_BUILD) | ||
find_dependency(crypto) | ||
find_dependency(ssl) | ||
endif() | ||
+find_dependency(ZLIB) | ||
+if("@ENABLE_CURL_CLIENT@") | ||
+ find_dependency(CURL) | ||
+endif() | ||
set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_PREV}) | ||
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
diff --git a/cmake/AWSSDKConfig.cmake b/cmake/AWSSDKConfig.cmake | ||
--- a/cmake/AWSSDKConfig.cmake (revision 2f90f9fd6c56460bd382243aa215fcddcb5883c8) | ||
+++ b/cmake/AWSSDKConfig.cmake (date 1636913220527) | ||
@@ -54,18 +54,14 @@ | ||
string(REPLACE ";" "${AWS_MODULE_DIR};" SYSTEM_MODULE_PATH "${CMAKE_SYSTEM_PREFIX_PATH}${AWS_MODULE_DIR}") | ||
list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH} ${SYSTEM_MODULE_PATH}) | ||
|
||
-# On Windows, dlls are treated as runtime target and installed in bindir | ||
if (WIN32 AND AWSSDK_INSTALL_AS_SHARED_LIBS) | ||
- set(AWSSDK_INSTALL_LIBDIR "${AWSSDK_INSTALL_BINDIR}") | ||
# If installed CMake scripts are associated with dll library, define USE_IMPORT_EXPORT for customers | ||
add_definitions(-DUSE_IMPORT_EXPORT) | ||
endif() | ||
|
||
|
||
# Compute the default installation root relative to this file. | ||
-# from prefix/lib/cmake/AWSSDK/xx.cmake to prefix | ||
get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) | ||
-get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) | ||
get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) | ||
get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) | ||
get_filename_component(AWS_NATIVE_SDK_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
diff --git a/cmake/external_dependencies.cmake b/cmake/external_dependencies.cmake | ||
index acf16c0..3a49fb4 100644 | ||
--- a/cmake/external_dependencies.cmake | ||
+++ b/cmake/external_dependencies.cmake | ||
@@ -80,23 +80,12 @@ if(NOT NO_HTTP_CLIENT AND NOT USE_CRT_HTTP_CLIENT) | ||
set(BUILD_CURL 1) | ||
message(STATUS " Building Curl as part of AWS SDK") | ||
else() | ||
- include(FindCURL) | ||
+ find_package(CURL REQUIRED) | ||
if(NOT CURL_FOUND) | ||
message(FATAL_ERROR "Could not find curl") | ||
+ else() | ||
+ set(CURL_LIBRARIES CURL::libcurl) | ||
endif() | ||
- | ||
- # When built from source using cmake, curl does not include | ||
- # CURL_INCLUDE_DIRS or CURL_INCLUDE_DIRS so we need to use | ||
- # find_package to fix it | ||
- if ("${CURL_INCLUDE_DIRS}" STREQUAL "" AND "${CURL_LIBRARIES}" STREQUAL "") | ||
- message(STATUS "Could not find curl include or library path, falling back to find with config.") | ||
- find_package(CURL) | ||
- set(CURL_LIBRARIES CURL::libcurl) | ||
- else () | ||
- message(STATUS " Curl include directory: ${CURL_INCLUDE_DIRS}") | ||
- List(APPEND EXTERNAL_DEPS_INCLUDE_DIRS ${CURL_INCLUDE_DIRS}) | ||
- set(CLIENT_LIBS ${CURL_LIBRARIES}) | ||
- endif () | ||
set(CLIENT_LIBS_ABSTRACT_NAME curl) | ||
message(STATUS " Curl target link: ${CURL_LIBRARIES}") | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
[CmdletBinding()] | ||
param( | ||
[Parameter(Mandatory=$true)][string]$SourcesRef, | ||
[Parameter(Mandatory=$false)][string]$PortDirectory = $PSScriptRoot, | ||
[Parameter(Mandatory=$false)][string]$vcpkg = "$PSScriptRoot/../../vcpkg" | ||
) | ||
|
||
$ErrorActionPreference = "Stop" | ||
|
||
$ManifestIn = "$PortDirectory/vcpkg.in.json" | ||
$ManifestOut = "$PortDirectory/vcpkg.json" | ||
|
||
$ExtractedSources = "${env:TEMP}/aws-sdk-cpp-generateFeatures-$SourcesRef" | ||
if (-not (Test-Path $ExtractedSources)) { | ||
if (Test-Path "$ExtractedSources.tmp") { | ||
Remove-Item -Force "$ExtractedSources.tmp" | ||
} | ||
git clone --depth=1 "https://github.com/aws/aws-sdk-cpp" "$ExtractedSources.tmp" | Out-Host | ||
git -c "$ExtractedSources.tmp" checkout $SourcesRef | ||
Move-Item "$ExtractedSources.tmp" "$ExtractedSources" | ||
} | ||
Write-Host "Using sources directory: $ExtractedSources" | ||
|
||
|
||
$subfolders = Get-ChildItem -Path "$ExtractedSources\generated\src\aws-cpp-sdk-*", "$ExtractedSources\src\aws-cpp-sdk*" | Sort-Object -Property Name | ||
|
||
$manifest = Get-Content $ManifestIn | ConvertFrom-Json | ||
$manifest | Add-Member ` | ||
-NotePropertyName '$note' ` | ||
-NotePropertyValue 'Automatically generated by generateFeatures.ps1' | ||
$manifest | Add-Member -NotePropertyName 'features' -NotePropertyValue @{} | ||
|
||
function GetDescription($dir, $modulename) | ||
{ | ||
if (Test-Path "$dir\CMakeLists.txt") | ||
{ | ||
$descs = @(Select-String -Path "$dir\CMakeLists.txt" -Pattern "`"C\+\+ SDK for the AWS [^`"]*`"") | ||
if ($descs.count -eq 1) { | ||
$desc = $descs[0].Matches.Value -replace "`"","" | ||
"$desc" | ||
} | ||
else { "C++ SDK for the AWS $modulename service" } | ||
} | ||
else { "C++ SDK for the AWS $modulename service" } | ||
} | ||
|
||
$featureDependencies = @{} | ||
Select-String -Path "$ExtractedSources\cmake\sdksCommon.cmake" -Pattern "list\(APPEND SDK_DEPENDENCY_LIST `"([\w-]+):([\w-,]+)`"\)" -AllMatches ` | ||
| ForEach-Object { $_.Matches } ` | ||
| ForEach-Object { $featureDependencies[$_.Groups[1].Value] = @($_.Groups[2].Value -split "," ` | ||
| Where-Object { $_ -ne "core" }) } | ||
|
||
foreach ($subfolder in $subfolders) | ||
{ | ||
$modulename = $subfolder.name -replace "^aws-cpp-sdk-","" | ||
if ($modulename -match "-tests`$") { continue } | ||
if ($modulename -match "-sample`$") { continue } | ||
if ($modulename -eq "core") { continue } | ||
|
||
$lowermodulename = $modulename.ToLower() | ||
|
||
$featureObj = @{ description = (GetDescription $subfolder $modulename) } | ||
|
||
if ($featureDependencies.ContainsKey($lowermodulename)) { | ||
$featureObj.dependencies = ,@{ name = "aws-sdk-cpp"; "default-features" = $false; "features" = $featureDependencies[$lowermodulename] } | ||
} | ||
|
||
$manifest.features.Add("$lowermodulename", $featureObj) | ||
} | ||
|
||
[IO.File]::WriteAllText($ManifestOut, (ConvertTo-Json -Depth 10 -InputObject $manifest)) | ||
|
||
& $vcpkg format-manifest --feature-flags=-manifests $ManifestOut |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
diff --git a/src/aws-cpp-sdk-core/CMakeLists.txt b/src/aws-cpp-sdk-core/CMakeLists.txt | ||
index c44546b0e..b66888362 100644 | ||
--- a/src/aws-cpp-sdk-core/CMakeLists.txt | ||
+++ b/src/aws-cpp-sdk-core/CMakeLists.txt | ||
@@ -113,13 +113,8 @@ if(ENABLE_CURL_CLIENT) | ||
int main() { | ||
CURL* handle = curl_easy_init(); | ||
return curl_easy_setopt(handle, CURLOPT_PROXY_SSLCERT, \"client.pem\"); }") | ||
- if (CMAKE_CROSSCOMPILING) | ||
- check_c_source_compiles("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) | ||
- check_c_source_compiles("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) | ||
- else() | ||
- check_c_source_runs("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) | ||
- check_c_source_runs("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) | ||
- endif() | ||
+ set(CURL_HAS_H2 OFF) | ||
+ set(CURL_HAS_TLS_PROXY ON) | ||
elseif(ENABLE_WINDOWS_CLIENT) | ||
# NOTE: HTTP/2 is not supported when using IXML_HTTP_REQUEST_2 | ||
if(USE_IXML_HTTP_REQUEST_2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
vcpkg_buildpath_length_warning(37) | ||
|
||
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO aws/aws-sdk-cpp | ||
REF "${VERSION}" | ||
SHA512 cdf2878d573398d65a20ce65d994552489ec06630e7db7db561f2e662d052d77c75395efc23445a610150817ac7db3eaaa66a42f4af6c7cee76216b04ce63dc7 | ||
PATCHES | ||
fix-aws-root.patch | ||
lock-curl-http-and-tls-settings.patch | ||
fix_find_curl.patch | ||
find-dependency.patch | ||
) | ||
|
||
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT) | ||
|
||
set(EXTRA_ARGS "") | ||
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) | ||
set(rpath "@loader_path") | ||
elseif (VCPKG_TARGET_IS_ANDROID) | ||
set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID" | ||
"-DGIT_EXECUTABLE=--invalid-git-executable--" | ||
"-DGIT_FOUND=TRUE" | ||
"-DNDK_DIR=$ENV{ANDROID_NDK_HOME}" | ||
"-DANDROID_BUILD_ZLIB=FALSE" | ||
"-DANDROID_BUILD_CURL=FALSE" | ||
"-DANDROID_BUILD_OPENSSL=FALSE" | ||
) | ||
else() | ||
set(rpath "\$ORIGIN") | ||
endif() | ||
|
||
string(REPLACE "awsmigrationhub" "AWSMigrationHub" targets "${FEATURES}") | ||
vcpkg_cmake_configure( | ||
SOURCE_PATH "${SOURCE_PATH}" | ||
DISABLE_PARALLEL_CONFIGURE | ||
OPTIONS | ||
${EXTRA_ARGS} | ||
"-DENABLE_UNITY_BUILD=ON" | ||
"-DENABLE_TESTING=OFF" | ||
"-DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}" | ||
"-DBUILD_ONLY=${targets}" | ||
"-DBUILD_DEPS=OFF" | ||
"-DBUILD_SHARED_LIBS=OFF" | ||
"-DAWS_SDK_WARNINGS_ARE_ERRORS=OFF" | ||
"-DCMAKE_INSTALL_RPATH=${rpath}" | ||
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files | ||
) | ||
vcpkg_cmake_install() | ||
|
||
foreach(TARGET IN LISTS targets) | ||
string(TOLOWER "aws-cpp-sdk-${TARGET}" package) | ||
vcpkg_cmake_config_fixup(PACKAGE_NAME "${package}" CONFIG_PATH "lib/cmake/aws-cpp-sdk-${TARGET}" DO_NOT_DELETE_PARENT_CONFIG_PATH) | ||
endforeach() | ||
vcpkg_cmake_config_fixup(PACKAGE_NAME "awssdk" CONFIG_PATH "lib/cmake/AWSSDK") | ||
|
||
vcpkg_copy_pdbs() | ||
|
||
file(GLOB_RECURSE AWS_TARGETS "${CURRENT_PACKAGES_DIR}/share/*/*-targets-*.cmake") | ||
foreach(AWS_TARGET IN LISTS AWS_TARGETS) | ||
file(READ ${AWS_TARGET} _contents) | ||
string(REGEX REPLACE | ||
"bin\\/([A-Za-z0-9_.-]+\\.lib)" | ||
"lib/\\1" | ||
_contents "${_contents}") | ||
file(WRITE ${AWS_TARGET} "${_contents}") | ||
endforeach() | ||
|
||
file(GLOB AWS_CONFIGS "${CURRENT_PACKAGES_DIR}/share/*/aws-cpp-sdk-*-config.cmake") | ||
list(FILTER AWS_CONFIGS EXCLUDE REGEX "aws-cpp-sdk-core-config\\.cmake\$") | ||
foreach(AWS_CONFIG IN LISTS AWS_CONFIGS) | ||
file(READ "${AWS_CONFIG}" _contents) | ||
file(WRITE "${AWS_CONFIG}" "include(CMakeFindDependencyMacro)\nfind_dependency(aws-cpp-sdk-core)\n${_contents}") | ||
endforeach() | ||
|
||
file(REMOVE_RECURSE | ||
"${CURRENT_PACKAGES_DIR}/debug/include" | ||
"${CURRENT_PACKAGES_DIR}/debug/share" | ||
"${CURRENT_PACKAGES_DIR}/lib/pkgconfig" | ||
"${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" | ||
"${CURRENT_PACKAGES_DIR}/nuget" | ||
"${CURRENT_PACKAGES_DIR}/debug/nuget" | ||
) | ||
|
||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") | ||
file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib) | ||
if(LIB_FILES) | ||
file(COPY ${LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) | ||
file(REMOVE ${LIB_FILES}) | ||
endif() | ||
file(GLOB DEBUG_LIB_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib) | ||
if(DEBUG_LIB_FILES) | ||
file(COPY ${DEBUG_LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) | ||
file(REMOVE ${DEBUG_LIB_FILES}) | ||
endif() | ||
|
||
file(APPEND "${CURRENT_PACKAGES_DIR}/include/aws/core/SDKConfig.h" "#ifndef USE_IMPORT_EXPORT\n#define USE_IMPORT_EXPORT\n#endif") | ||
endif() | ||
|
||
configure_file("${CURRENT_PORT_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) | ||
|
||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: | ||
|
||
When using AWSSDK, AWSSDK_ROOT_DIR must be defined by the user. | ||
find_package(AWSSDK CONFIG COMPONENTS core dynamodb kinesis s3 REQUIRED) | ||
target_include_directories(main PRIVATE ${AWSSDK_INCLUDE_DIRS}) | ||
target_link_libraries(main PRIVATE ${AWSSDK_LIBRARIES}) | ||
|
||
OR | ||
|
||
find_package(aws-cpp-sdk-core REQUIRED) | ||
target_include_directories(main PRIVATE aws-cpp-sdk-core) | ||
target_link_libraries(main PRIVATE aws-cpp-sdk-core) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"name": "aws-sdk-cpp", | ||
"version": "1.11.352", | ||
"description": "AWS SDK for C++", | ||
"homepage": "https://github.com/aws/aws-sdk-cpp", | ||
"license": "Apache-2.0", | ||
"supports": "!(windows & arm) & !uwp", | ||
"dependencies": [ | ||
"aws-crt-cpp", | ||
{ | ||
"name": "curl", | ||
"default-features": false, | ||
"features": [ | ||
"ssl" | ||
], | ||
"platform": "!uwp & !windows" | ||
}, | ||
{ | ||
"name": "openssl", | ||
"platform": "!uwp & !windows" | ||
}, | ||
{ | ||
"name": "vcpkg-cmake", | ||
"host": true | ||
}, | ||
{ | ||
"name": "vcpkg-cmake-config", | ||
"host": true | ||
}, | ||
"zlib" | ||
], | ||
"default-features": [ | ||
"dynamodb", | ||
"kinesis", | ||
"s3" | ||
] | ||
} |
Oops, something went wrong.