This is an automated email from the ASF dual-hosted git repository.
phrocker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
The following commit(s) were added to refs/heads/master by this push:
new 0601747 MINIFICPP-865 - Statically link AWS SDK to libminifi
0601747 is described below
commit 060174725a9a4345bca724907a1ba16936a62d06
Author: Arpad Boda <[email protected]>
AuthorDate: Thu May 23 18:24:51 2019 +0200
MINIFICPP-865 - Statically link AWS SDK to libminifi
This closes #569.
Signed-off-by: Marc Parisi <[email protected]>
---
extensions/aws/CMakeLists.txt | 49 ++++++++++++++++++++++++++++++-------------
1 file changed, 35 insertions(+), 14 deletions(-)
diff --git a/extensions/aws/CMakeLists.txt b/extensions/aws/CMakeLists.txt
index e0b0b07..dc354e2 100644
--- a/extensions/aws/CMakeLists.txt
+++ b/extensions/aws/CMakeLists.txt
@@ -25,6 +25,15 @@ file(GLOB SOURCES "*.cpp" "s3/*.cpp"
"controllerservices/*.cpp")
set(BASE_DIR "${CMAKE_CURRENT_BINARY_DIR}/aws-sdk-cpp")
set(BYPRODUCT "${CMAKE_CURRENT_BINARY_DIR}/aws-sdk-install/")
+
+if(STATIC_BUILD)
+ set(MINIFI_AWS_BUILD_SHARED_LIBS "OFF")
+ set(MINIFI_AWS_UNITY_BUILD "ON")
+else()
+ set(MINIFI_AWS_BUILD_SHARED_LIBS "ON")
+ set(MINIFI_AWS_UNITY_BUILD "OFF")
+endif()
+
# AWS SDK 1.7.89
ExternalProject_Add(
awssdk-external
@@ -33,10 +42,11 @@ ExternalProject_Add(
EXCLUDE_FROM_ALL TRUE
INSTALL_DIR ${BYPRODUCT}
CMAKE_ARGS -DBUILD_ONLY=s3
- -DENABLE_TESTING=OFF
- -DBUILD_SHARED_LIBS=ON
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_INSTALL_PREFIX=${BYPRODUCT}
+ -DENABLE_TESTING=OFF
+ -DBUILD_SHARED_LIBS=${MINIFI_AWS_BUILD_SHARED_LIBS}
+ -DENABLE_UNITY_BUILD=${MINIFI_AWS_UNITY_BUILD}
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ -DCMAKE_INSTALL_PREFIX=${BYPRODUCT}
)
add_library(awssdklib STATIC IMPORTED)
@@ -50,17 +60,28 @@ set(AWSSDK_LIBRARY awssdklib CACHE STRING "" FORCE)
include_directories(${AWSSDK_INCLUDE_DIRS})
add_library(minifi-aws STATIC ${SOURCES})
+if(STATIC_BUILD)
+ set(SUFFIX "a")
+else()
+ if(APPLE)
+ set(SUFFIX "dylib")
+ else()
+ set(SUFFIX "so")
+ endif()
+endif()
+
+
if (APPLE)
- target_link_libraries (minifi-aws
${BYPRODUCT}lib/libaws-c-event-stream.dylib)
- target_link_libraries (minifi-aws ${BYPRODUCT}lib/libaws-c-common.dylib)
- target_link_libraries (minifi-aws
${BYPRODUCT}lib/libaws-cpp-sdk-core.dylib)
- target_link_libraries (minifi-aws ${BYPRODUCT}lib/libaws-cpp-sdk-s3.dylib)
-else ()
- target_link_libraries (minifi-aws ${BYPRODUCT}lib/libaws-c-event-stream.so)
- target_link_libraries (minifi-aws ${BYPRODUCT}lib/libaws-c-common.so)
- target_link_libraries (minifi-aws ${BYPRODUCT}lib/libaws-cpp-sdk-core.so)
- target_link_libraries (minifi-aws ${BYPRODUCT}lib/libaws-cpp-sdk-s3.so)
-endif ()
+ if(STATIC_BUILD)
+ target_link_libraries(minifi-aws "-framework CoreFoundation")
+ endif()
+endif()
+
+target_link_libraries(minifi-aws ${BYPRODUCT}lib/libaws-c-common.${SUFFIX})
+target_link_libraries(minifi-aws ${BYPRODUCT}lib/libaws-checksums.${SUFFIX})
+target_link_libraries(minifi-aws
${BYPRODUCT}lib/libaws-c-event-stream.${SUFFIX})
+target_link_libraries(minifi-aws ${BYPRODUCT}lib/libaws-cpp-sdk-core.${SUFFIX})
+target_link_libraries(minifi-aws ${BYPRODUCT}lib/libaws-cpp-sdk-s3.${SUFFIX})
add_dependencies(minifi-aws awssdk-external)
SET (AWS-EXTENSION minifi-aws PARENT_SCOPE)