feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,29 @@
cmake_minimum_required(VERSION 3.1)
if(POLICY CMP0054)
cmake_policy(SET CMP0054 NEW)
endif()
project(AWSSDK_DEPS)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include(ExternalProject)
set(AWS_DEPS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Dependencies install directory.")
set(AWS_DEPS_BUILD_DIR "${CMAKE_BINARY_DIR}/build" CACHE PATH "Dependencies build directory.")
set(AWS_DEPS_DOWNLOAD_DIR "${AWS_DEPS_BUILD_DIR}/downloads" CACHE PATH "Dependencies download directory.")
set(AWS_C_COMMON_URL "https://github.com/awslabs/aws-c-common.git")
set(AWS_C_COMMON_TAG "v0.4.42")
include(BuildAwsCCommon)
set(AWS_CHECKSUMS_URL "https://github.com/awslabs/aws-checksums.git")
set(AWS_CHECKSUMS_TAG "v0.1.5")
include(BuildAwsChecksums)
set(AWS_EVENT_STREAM_URL "https://github.com/awslabs/aws-c-event-stream.git")
set(AWS_EVENT_STREAM_TAG "v0.1.5")
include(BuildAwsEventStream)
add_dependencies(AwsCEventStream AwsCCommon AwsChecksums)

View File

@@ -0,0 +1,66 @@
if(TARGET_ARCH STREQUAL "ANDROID")
message("flag ANDROID")
ExternalProject_Add(AwsCCommon
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_C_COMMON_URL}
#GIT_TAG ${AWS_C_COMMON_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsCCommon.zip
URL_MD5 378cc0dbdf9aba0de8fb24df9889ff03
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN}
-DANDROID_STL=${ANDROID_STL}
-DENABLE_HW_OPTIMIZATION=OFF
)
elseif(TARGET_ARCH STREQUAL "APPLE" AND DEFINED CMAKE_OSX_ARCHITECTURES AND NOT CMAKE_OSX_ARCHITECTURES STREQUAL "")
message("flag APPLE")
message("Cross compiling aws-c-common for architecture ${CMAKE_OSX_ARCHITECTURES}")
ExternalProject_Add(AwsCCommon
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_C_COMMON_URL}
#GIT_TAG ${AWS_C_COMMON_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsCCommon.zip
URL_MD5 378cc0dbdf9aba0de8fb24df9889ff03
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
)
else()
message("flag other")
message(AWS_DEPS_INSTALL_DIR " ${AWS_DEPS_INSTALL_DIR}")
message(STATIC_CRT " ${STATIC_CRT}")
message(CMAKE_TOOLCHAIN_FILE " ${CMAKE_TOOLCHAIN_FILE}")
message(CMAKE_RUNTIME_OUTPUT_DIRECTORY " ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
ExternalProject_Add(AwsCCommon
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_C_COMMON_URL}
#GIT_TAG ${AWS_C_COMMON_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsCCommon.zip
URL_MD5 378cc0dbdf9aba0de8fb24df9889ff03
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DSTATIC_CRT=${STATIC_CRT}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
)
endif()

View File

@@ -0,0 +1,60 @@
if(TARGET_ARCH STREQUAL "ANDROID")
ExternalProject_Add(AwsChecksums
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_CHECKSUMS_URL}
#GIT_TAG ${AWS_CHECKSUMS_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsChecksums.zip
URL_MD5 5398c157d4536f8bcb8b6cb0d5bda3fd
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN}
-DANDROID_STL=${ANDROID_STL}
)
elseif(TARGET_ARCH STREQUAL "APPLE" AND DEFINED CMAKE_OSX_ARCHITECTURES AND NOT CMAKE_OSX_ARCHITECTURES STREQUAL "")
message("Cross compiling aws-checksums for architecture ${CMAKE_OSX_ARCHITECTURES}")
ExternalProject_Add(AwsChecksums
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_CHECKSUMS_URL}
#GIT_TAG ${AWS_CHECKSUMS_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsChecksums.zip
URL_MD5 5398c157d4536f8bcb8b6cb0d5bda3fd
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
)
else()
ExternalProject_Add(AwsChecksums
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_CHECKSUMS_URL}
#GIT_TAG ${AWS_CHECKSUMS_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsChecksums.zip
URL_MD5 5398c157d4536f8bcb8b6cb0d5bda3fd
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DSTATIC_CRT=${STATIC_CRT}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
)
endif()

View File

@@ -0,0 +1,68 @@
# All the dependencies(aws-c-common and aws-checksums) should live in the same directory as aws-c-event-stream,
# therefore we set rpath for aws-c-event-stream to "$ORIGIN".
set(DEPS_RPATH "$ORIGIN")
if(TARGET_ARCH STREQUAL "ANDROID")
ExternalProject_Add(AwsCEventStream
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_EVENT_STREAM_URL}
#GIT_TAG ${AWS_EVENT_STREAM_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsCEventStream.zip
URL_MD5 0de149efbe1cb09a17da6941d55359ca
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_FIND_ROOT_PATH=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_PREFIX_PATH=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_RPATH=${DEPS_RPATH}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN}
-DANDROID_STL=${ANDROID_STL}
)
elseif(TARGET_ARCH STREQUAL "APPLE" AND DEFINED CMAKE_OSX_ARCHITECTURES AND NOT CMAKE_OSX_ARCHITECTURES STREQUAL "")
message("Cross compiling aws-c-event-stream for architecture ${CMAKE_OSX_ARCHITECTURES}")
ExternalProject_Add(AwsCEventStream
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_EVENT_STREAM_URL}
#GIT_TAG ${AWS_EVENT_STREAM_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsCEventStream.zip
URL_MD5 0de149efbe1cb09a17da6941d55359ca
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_PREFIX_PATH=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_RPATH=${DEPS_RPATH}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
)
else()
ExternalProject_Add(AwsCEventStream
PREFIX ${AWS_DEPS_BUILD_DIR}
#GIT_REPOSITORY ${AWS_EVENT_STREAM_URL}
#GIT_TAG ${AWS_EVENT_STREAM_TAG}
URL ${CMAKE_CURRENT_SOURCE_DIR}/AwsCEventStream.zip
URL_MD5 0de149efbe1cb09a17da6941d55359ca
BUILD_IN_SOURCE 0
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_PREFIX_PATH=${AWS_DEPS_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DSTATIC_CRT=${STATIC_CRT}
-DCMAKE_INSTALL_RPATH=${DEPS_RPATH}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
)
endif()