Backport aws kms build fixes from 10.2
This commit is contained in:
parent
9dffa3072c
commit
d0eb4ee96b
@ -60,7 +60,6 @@ ENDIF()
|
|||||||
|
|
||||||
FIND_LIBRARY(AWS_CPP_SDK_CORE NAMES aws-cpp-sdk-core PATH_SUFFIXES "${SDK_INSTALL_BINARY_PREFIX}")
|
FIND_LIBRARY(AWS_CPP_SDK_CORE NAMES aws-cpp-sdk-core PATH_SUFFIXES "${SDK_INSTALL_BINARY_PREFIX}")
|
||||||
FIND_LIBRARY(AWS_CPP_SDK_KMS NAMES aws-cpp-sdk-kms PATH_SUFFIXES "${SDK_INSTALL_BINARY_PREFIX}")
|
FIND_LIBRARY(AWS_CPP_SDK_KMS NAMES aws-cpp-sdk-kms PATH_SUFFIXES "${SDK_INSTALL_BINARY_PREFIX}")
|
||||||
SET(CMAKE_REQUIRED_FLAGS ${CXX11_FLAGS})
|
|
||||||
FIND_PATH(AWS_CPP_SDK_INCLUDE_DIR NAMES aws/kms/KMSClient.h)
|
FIND_PATH(AWS_CPP_SDK_INCLUDE_DIR NAMES aws/kms/KMSClient.h)
|
||||||
|
|
||||||
IF(AWS_CPP_SDK_CORE AND AWS_CPP_SDK_KMS AND AWS_CPP_SDK_INCLUDE_DIR)
|
IF(AWS_CPP_SDK_CORE AND AWS_CPP_SDK_KMS AND AWS_CPP_SDK_INCLUDE_DIR)
|
||||||
@ -68,6 +67,10 @@ IF(AWS_CPP_SDK_CORE AND AWS_CPP_SDK_KMS AND AWS_CPP_SDK_INCLUDE_DIR)
|
|||||||
INCLUDE_DIRECTORIES(${AWS_CPP_SDK_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${AWS_CPP_SDK_INCLUDE_DIR})
|
||||||
SET(AWS_SDK_LIBS ${AWS_CPP_SDK_CORE} ${AWS_CPP_SDK_KMS})
|
SET(AWS_SDK_LIBS ${AWS_CPP_SDK_CORE} ${AWS_CPP_SDK_KMS})
|
||||||
ELSE()
|
ELSE()
|
||||||
|
OPTION(AWS_SDK_EXTERNAL_PROJECT "Allow download and build AWS C++ SDK" OFF)
|
||||||
|
IF(NOT AWS_SDK_EXTERNAL_PROJECT)
|
||||||
|
SKIP_AWS_PLUGIN("AWS_SDK_EXTERNAL_PROJECT is not set")
|
||||||
|
ENDIF()
|
||||||
# Build from source, using ExternalProject_Add
|
# Build from source, using ExternalProject_Add
|
||||||
# AWS C++ SDK requires cmake 2.8.12
|
# AWS C++ SDK requires cmake 2.8.12
|
||||||
IF(CMAKE_VERSION VERSION_LESS "2.8.12")
|
IF(CMAKE_VERSION VERSION_LESS "2.8.12")
|
||||||
@ -93,6 +96,10 @@ ELSE()
|
|||||||
IF(NOT UUID_LIBRARIES)
|
IF(NOT UUID_LIBRARIES)
|
||||||
SKIP_AWS_PLUGIN("AWS C++ SDK requires uuid development package")
|
SKIP_AWS_PLUGIN("AWS C++ SDK requires uuid development package")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
FIND_PACKAGE(OpenSSL)
|
||||||
|
IF(NOT OPENSSL_FOUND)
|
||||||
|
SKIP_AWS_PLUGIN("AWS C++ SDK requires openssl development package")
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
@ -109,15 +116,27 @@ ELSE()
|
|||||||
ADD_LIBRARY(${lib} STATIC IMPORTED GLOBAL)
|
ADD_LIBRARY(${lib} STATIC IMPORTED GLOBAL)
|
||||||
ADD_DEPENDENCIES(${lib} aws_sdk_cpp)
|
ADD_DEPENDENCIES(${lib} aws_sdk_cpp)
|
||||||
SET(loc "${CMAKE_CURRENT_BINARY_DIR}/aws_sdk_cpp/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
SET(loc "${CMAKE_CURRENT_BINARY_DIR}/aws_sdk_cpp/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||||
SET(byproducts ${byproducts} BUILD_BYPRODUCTS ${loc})
|
IF(CMAKE_VERSION VERSION_GREATER "3.1")
|
||||||
|
SET(byproducts ${byproducts} BUILD_BYPRODUCTS ${loc})
|
||||||
|
ENDIF()
|
||||||
SET_TARGET_PROPERTIES(${lib} PROPERTIES IMPORTED_LOCATION ${loc})
|
SET_TARGET_PROPERTIES(${lib} PROPERTIES IMPORTED_LOCATION ${loc})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
|
# To be compatible with older cmake, we use older version of the SDK
|
||||||
|
# We increase the version for macs however, so the newest mac could built it.
|
||||||
|
IF(APPLE)
|
||||||
|
SET(GIT_TAG "1.0.100")
|
||||||
|
ELSEIF(_OPENSSL_VERSION VERSION_EQUAL "1.1")
|
||||||
|
SET(GIT_TAG "1.0.114")
|
||||||
|
ELSE()
|
||||||
|
SET(GIT_TAG "1.0.8")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET(AWS_SDK_PATCH_COMMAND )
|
SET(AWS_SDK_PATCH_COMMAND )
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
aws_sdk_cpp
|
aws_sdk_cpp
|
||||||
GIT_REPOSITORY "https://github.com/awslabs/aws-sdk-cpp.git"
|
GIT_REPOSITORY "https://github.com/awslabs/aws-sdk-cpp.git"
|
||||||
GIT_TAG "1.0.8"
|
GIT_TAG ${GIT_TAG}
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/aws-sdk-cpp"
|
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/aws-sdk-cpp"
|
||||||
${byproducts}
|
${byproducts}
|
||||||
@ -125,6 +144,7 @@ ELSE()
|
|||||||
-DBUILD_ONLY=kms
|
-DBUILD_ONLY=kms
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
-DFORCE_SHARED_CRT=OFF
|
-DFORCE_SHARED_CRT=OFF
|
||||||
|
-DENABLE_TESTING=OFF
|
||||||
"-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} ${PIC_FLAG}"
|
"-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} ${PIC_FLAG}"
|
||||||
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${PIC_FLAG}"
|
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${PIC_FLAG}"
|
||||||
"-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} ${PIC_FLAG}"
|
"-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} ${PIC_FLAG}"
|
||||||
@ -144,12 +164,15 @@ ELSE()
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
ADD_DEFINITIONS(${SSL_DEFINES}) # Need to know whether openssl should be initialized
|
ADD_DEFINITIONS(${SSL_DEFINES}) # Need to know whether openssl should be initialized
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_FLAGS}")
|
IF(CMAKE_VERSION GREATER "3.0")
|
||||||
|
SET(CMAKE_CXX_STANDARD 11)
|
||||||
|
ELSE()
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_FLAGS}")
|
||||||
|
ENDIF()
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(AWS_CPP_SDK_DEPENDENCIES bcrypt winhttp wininet userenv version)
|
SET(AWS_CPP_SDK_DEPENDENCIES bcrypt winhttp wininet userenv version)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(AWS_CPP_SDK_DEPENDENCIES ${SSL_LIBRARIES} ${CURL_LIBRARIES} ${UUID_LIBRARIES})
|
SET(AWS_CPP_SDK_DEPENDENCIES ${OPENSSL_LIBRARIES} ${CURL_LIBRARIES} ${UUID_LIBRARIES})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(aws_key_management ${AWS_SDK_LIBS} ${AWS_CPP_SDK_DEPENDENCIES})
|
TARGET_LINK_LIBRARIES(aws_key_management ${AWS_SDK_LIBS} ${AWS_CPP_SDK_DEPENDENCIES})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user