提交 b33165f6 编写于 作者: Z zhiru

cmake: fix AWS build issue

Former-commit-id: 5a7e5b182441a5780d95914ee40b138ea25abac2
上级 e263ffee
...@@ -51,6 +51,7 @@ Please mark all change in change log and use the ticket from JIRA. ...@@ -51,6 +51,7 @@ Please mark all change in change log and use the ticket from JIRA.
- MS-34 - Fix prometheus-cpp thirdparty - MS-34 - Fix prometheus-cpp thirdparty
- MS-67 - Fix license check bug - MS-67 - Fix license check bug
- MS-76 - Fix pipeline crash bug - MS-76 - Fix pipeline crash bug
- MS-100 - cmake: fix AWS build issue
## Improvement ## Improvement
......
...@@ -1762,7 +1762,10 @@ macro(build_aws) ...@@ -1762,7 +1762,10 @@ macro(build_aws)
-DENABLE_UNITY_BUILD=on -DENABLE_UNITY_BUILD=on
-DNO_ENCRYPTION=off) -DNO_ENCRYPTION=off)
set(AWS_STATIC_LIB "${AWS_PREFIX}/lib/libs3.a") set(AWS_CPP_SDK_CORE_STATIC_LIB
"${AWS_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-cpp-sdk-core${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(AWS_CPP_SDK_S3_STATIC_LIB
"${AWS_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}aws-cpp-sdk-s3${CMAKE_STATIC_LIBRARY_SUFFIX}")
# Only pass our C flags on Unix as on MSVC it leads to a # Only pass our C flags on Unix as on MSVC it leads to a
# "incompatible command-line options" error # "incompatible command-line options" error
set(AWS_CMAKE_ARGS set(AWS_CMAKE_ARGS
...@@ -1788,24 +1791,40 @@ macro(build_aws) ...@@ -1788,24 +1791,40 @@ macro(build_aws)
URL URL
${AWS_SOURCE_URL} ${AWS_SOURCE_URL}
BUILD_BYPRODUCTS BUILD_BYPRODUCTS
"${AWS_STATIC_LIB}") "${AWS_CPP_SDK_S3_STATIC_LIB}"
"${AWS_CPP_SDK_CORE_STATIC_LIB}")
file(MAKE_DIRECTORY "${AWS_PREFIX}/include") file(MAKE_DIRECTORY "${AWS_PREFIX}/include")
add_library(aws STATIC IMPORTED) add_library(aws-cpp-sdk-s3 STATIC IMPORTED)
set_target_properties(aws set_target_properties(aws-cpp-sdk-s3
PROPERTIES IMPORTED_LOCATION "${AWS_STATIC_LIB}" PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${AWS_PREFIX}/include") IMPORTED_LOCATION "${AWS_CPP_SDK_S3_STATIC_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${AWS_PREFIX}/include"
INTERFACE_LINK_LIBRARIES "${AWS_PREFIX}/lib/libaws-c-event-stream.a;${AWS_PREFIX}/lib/libaws-checksums.a;${AWS_PREFIX}/lib/libaws-c-common.a")
add_library(aws-cpp-sdk-core STATIC IMPORTED)
set_target_properties(aws-cpp-sdk-core
PROPERTIES IMPORTED_LOCATION "${AWS_CPP_SDK_CORE_STATIC_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${AWS_PREFIX}/include"
INTERFACE_LINK_LIBRARIES "${AWS_PREFIX}/lib/libaws-c-event-stream.a;${AWS_PREFIX}/lib/libaws-checksums.a;${AWS_PREFIX}/lib/libaws-c-common.a")
add_dependencies(aws-cpp-sdk-s3 aws_ep)
add_dependencies(aws-cpp-sdk-core aws_ep)
add_dependencies(aws aws_ep)
endmacro() endmacro()
if(MILVUS_WITH_AWS) if(MILVUS_WITH_AWS)
resolve_dependency(AWS) resolve_dependency(AWS)
# TODO: Don't use global includes but rather target_include_directories # TODO: Don't use global includes but rather target_include_directories
get_target_property(AWS_INCLUDE_DIR aws INTERFACE_INCLUDE_DIRECTORIES)
link_directories(SYSTEM ${AWS_PREFIX}/lib) link_directories(SYSTEM ${AWS_PREFIX}/lib)
include_directories(SYSTEM ${AWS_INCLUDE_DIR})
get_target_property(AWS_CPP_SDK_S3_INCLUDE_DIR aws-cpp-sdk-s3 INTERFACE_INCLUDE_DIRECTORIES)
include_directories(SYSTEM ${AWS_CPP_SDK_S3_INCLUDE_DIR})
get_target_property(AWS_CPP_SDK_CORE_INCLUDE_DIR aws-cpp-sdk-core INTERFACE_INCLUDE_DIRECTORIES)
include_directories(SYSTEM ${AWS_CPP_SDK_CORE_INCLUDE_DIR})
endif() endif()
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
aux_source_directory(${MILVUS_ENGINE_SRC}/storage/s3 s3_client_src) aux_source_directory(${MILVUS_ENGINE_SRC}/storage/s3 s3_client_src)
# Make sure that your call to link_directories takes place before your call to the relevant add_executable. # Make sure that your call to link_directories takes place before your call to the relevant add_executable.
include_directories(/usr/local/cuda/include) include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
link_directories("/usr/local/cuda/lib64") link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
set(s3_client_test_src set(s3_client_test_src
${unittest_srcs} ${unittest_srcs}
...@@ -23,11 +23,8 @@ add_executable(s3_test ...@@ -23,11 +23,8 @@ add_executable(s3_test
set(s3_client_libs set(s3_client_libs
stdc++ stdc++
libaws-cpp-sdk-s3.a aws-cpp-sdk-s3
libaws-cpp-sdk-core.a aws-cpp-sdk-core
libaws-c-event-stream.a
libaws-checksums.a
libaws-c-common.a
boost_filesystem boost_filesystem
) )
target_link_libraries(s3_test target_link_libraries(s3_test
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册