kszucs commented on a change in pull request #8304:
URL: https://github.com/apache/arrow/pull/8304#discussion_r497075796
##########
File path: cpp/cmake_modules/ThirdpartyToolchain.cmake
##########
@@ -2630,46 +2628,101 @@ macro(build_awssdk)
endif()
set(AWSSDK_CMAKE_ARGS
- -DCMAKE_BUILD_TYPE=Release
+ -DCMAKE_BUILD_TYPE=release
+ -DMINIMIZE_SIZE=on
+
-DBUILD_ONLY=config\\$<SEMICOLON>s3\\$<SEMICOLON>transfer\\$<SEMICOLON>identity-management\\$<SEMICOLON>sts
-DCMAKE_INSTALL_LIBDIR=lib
- -DBUILD_ONLY=s3;core;config;identity-management;sts
-DENABLE_UNITY_BUILD=on
+ -DBUILD_SHARED_LIBS=off
-DENABLE_TESTING=off
"-DCMAKE_C_FLAGS=${EP_C_FLAGS}"
"-DCMAKE_INSTALL_PREFIX=${AWSSDK_PREFIX}")
- set(
- AWSSDK_CORE_SHARED_LIB
-
"${AWSSDK_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}aws-cpp-sdk-core${CMAKE_SHARED_LIBRARY_SUFFIX}"
- )
- set(
- AWSSDK_S3_SHARED_LIB
-
"${AWSSDK_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}aws-cpp-sdk-s3${CMAKE_SHARED_LIBRARY_SUFFIX}"
- )
- set(
- AWSSDK_IAM_SHARED_LIB
-
"${AWSSDK_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}aws-cpp-sdk-identity-management${CMAKE_SHARED_LIBRARY_SUFFIX}"
- )
- set(
- AWSSDK_STS_SHARED_LIB
-
"${AWSSDK_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}aws-cpp-sdk-sts${CMAKE_SHARED_LIBRARY_SUFFIX}"
- )
- set(AWSSDK_SHARED_LIBS "${AWSSDK_CORE_SHARED_LIB}" "${AWSSDK_S3_SHARED_LIB}"
- "${AWSSDK_IAM_SHARED_LIB}" "${AWSSDK_STS_SHARED_LIB}")
+ set(AWSSDK_COMMON_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-c-common${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(AWSSDK_CHECKSUMS_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-checksums${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(AWSSDK_ES_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-c-event-stream${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(AWSSDK_CORE_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-cpp-sdk-core${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(AWSSDK_S3_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-cpp-sdk-s3${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(AWSSDK_COG_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-cpp-sdk-cognito-identity${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(AWSSDK_IAM_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-cpp-sdk-identity-management${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(AWSSDK_STS_STATIC_LIB
"${AWSSDK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-cpp-sdk-sts${CMAKE_STATIC_LIBRARY_SUFFIX}")
+
+ set(AWSSDK_STATIC_LIBS "${AWSSDK_COG_STATIC_LIB}"
"${AWSSDK_CHECKSUMS_STATIC_LIB}" "${AWSSDK_COMMON_STATIC_LIB}"
"${AWSSDK_ES_STATIC_LIB}" "${AWSSDK_CORE_STATIC_LIB}" "${AWSSDK_S3_STATIC_LIB}"
"${AWSSDK_IAM_STATIC_LIB}" "${AWSSDK_STS_STATIC_LIB}")
externalproject_add(awssdk_ep
${EP_LOG_OPTIONS}
URL ${AWSSDK_SOURCE_URL}
CMAKE_ARGS ${AWSSDK_CMAKE_ARGS}
- BUILD_BYPRODUCTS ${AWSSDK_SHARED_LIBS})
+ BUILD_BYPRODUCTS ${AWSSDK_STATIC_LIBS})
file(MAKE_DIRECTORY ${AWSSDK_INCLUDE_DIR})
+ add_library(AWS::aws-checksums STATIC IMPORTED)
+ set_target_properties(AWS::aws-checksums
+ PROPERTIES IMPORTED_LOCATION
"${AWSSDK_CHECKSUMS_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ add_library(AWS::aws-c-common STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-common
+ PROPERTIES IMPORTED_LOCATION
"${AWSSDK_COMMON_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ add_library(AWS::aws-c-event-stream STATIC IMPORTED)
+ set_target_properties(AWS::aws-c-event-stream
+ PROPERTIES IMPORTED_LOCATION "${AWSSDK_ES_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ add_library(AWS::aws-cpp-sdk-core STATIC IMPORTED)
+ set_target_properties(AWS::aws-cpp-sdk-core
+ PROPERTIES IMPORTED_LOCATION
"${AWSSDK_CORE_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ add_library(AWS::aws-cpp-sdk-s3 STATIC IMPORTED)
+ set_target_properties(AWS::aws-cpp-sdk-s3
+ PROPERTIES IMPORTED_LOCATION "${AWSSDK_S3_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ add_library(AWS::aws-cpp-sdk-cognito-identity STATIC IMPORTED)
+ set_target_properties(AWS::aws-cpp-sdk-cognito-identity
+ PROPERTIES IMPORTED_LOCATION "${AWSSDK_COG_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ add_library(AWS::aws-cpp-sdk-identity-management STATIC IMPORTED)
+ set_target_properties(AWS::aws-cpp-sdk-identity-management
+ PROPERTIES IMPORTED_LOCATION "${AWSSDK_IAM_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ add_library(AWS::aws-cpp-sdk-sts STATIC IMPORTED)
+ set_target_properties(AWS::aws-cpp-sdk-sts
+ PROPERTIES IMPORTED_LOCATION "${AWSSDK_STS_STATIC_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${AWSSDK_INCLUDE_DIR}")
+
+ # on linux and macos curl seems to be required
+ find_package(CURL REQUIRED)
+
add_dependencies(toolchain awssdk_ep)
- set(AWSSDK_LINK_LIBRARIES ${AWSSDK_SHARED_LIBS})
+ # list(APPEND ARROW_BUNDLED_STATIC_LIBS AWSSDK)
+ set(AWSSDK_LINK_LIBRARIES
+ AWS::aws-cpp-sdk-identity-management
Review comment:
Note that `AWS::aws-cpp-sdk-config` wasn't required although we look for
it find_package components.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]