mirror of
https://github.com/sogou/workflow.git
synced 2026-02-08 01:33:17 +08:00
Optimize CMake when linking libraries. (#1748)
This commit is contained in:
@@ -10,6 +10,9 @@ endif ()
|
||||
include_directories(${OPENSSL_INCLUDE_DIR} ${INC_DIR}/workflow)
|
||||
|
||||
if (KAFKA STREQUAL "y")
|
||||
find_package(ZLIB REQUIRED)
|
||||
include_directories(${ZLIB_INCLUDE_DIRS})
|
||||
|
||||
find_path(SNAPPY_INCLUDE_PATH NAMES snappy.h)
|
||||
find_library(SNAPPY_LIB NAMES snappy)
|
||||
if ((NOT SNAPPY_INCLUDE_PATH) OR (NOT SNAPPY_LIB))
|
||||
@@ -78,11 +81,11 @@ add_library(
|
||||
)
|
||||
|
||||
if(ANDROID)
|
||||
target_link_libraries(${SHARED_LIB_NAME} ssl crypto c)
|
||||
target_link_libraries(${STATIC_LIB_NAME} ssl crypto c)
|
||||
target_link_libraries(${SHARED_LIB_NAME} PUBLIC ssl crypto c)
|
||||
target_link_libraries(${STATIC_LIB_NAME} PUBLIC ssl crypto c)
|
||||
else()
|
||||
target_link_libraries(${SHARED_LIB_NAME} OpenSSL::SSL OpenSSL::Crypto pthread)
|
||||
target_link_libraries(${STATIC_LIB_NAME} OpenSSL::SSL OpenSSL::Crypto pthread)
|
||||
target_link_libraries(${SHARED_LIB_NAME} PUBLIC OpenSSL::SSL OpenSSL::Crypto pthread)
|
||||
target_link_libraries(${STATIC_LIB_NAME} PUBLIC OpenSSL::SSL OpenSSL::Crypto pthread)
|
||||
endif ()
|
||||
|
||||
set_target_properties(${STATIC_LIB_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
|
||||
@@ -102,6 +105,8 @@ if (KAFKA STREQUAL "y")
|
||||
$<TARGET_OBJECTS:protocol_kafka>
|
||||
$<TARGET_OBJECTS:factory_kafka>
|
||||
)
|
||||
target_link_libraries(${KAFKA_STATIC_LIB_NAME} PUBLIC
|
||||
${STATIC_LIB_NAME} ZLIB::ZLIB ${LZ4_LIB} ${ZSTD_LIB} ${SNAPPY_LIB})
|
||||
set_target_properties(${KAFKA_STATIC_LIB_NAME} PROPERTIES OUTPUT_NAME "wfkafka")
|
||||
|
||||
set(KAFKA_SHARED_LIB_NAME "wfkafka-shared")
|
||||
@@ -112,12 +117,8 @@ if (KAFKA STREQUAL "y")
|
||||
$<TARGET_OBJECTS:protocol_kafka>
|
||||
$<TARGET_OBJECTS:factory_kafka>
|
||||
)
|
||||
if (APPLE)
|
||||
target_link_libraries(${KAFKA_SHARED_LIB_NAME}
|
||||
${SHARED_LIB_NAME} z ${LZ4_LIB} ${ZSTD_LIB} ${SNAPPY_LIB})
|
||||
else ()
|
||||
target_link_libraries(${KAFKA_SHARED_LIB_NAME} ${SHARED_LIB_NAME})
|
||||
endif ()
|
||||
target_link_libraries(${KAFKA_SHARED_LIB_NAME} PUBLIC
|
||||
${SHARED_LIB_NAME} ZLIB::ZLIB ${LZ4_LIB} ${ZSTD_LIB} ${SNAPPY_LIB})
|
||||
set_target_properties(${KAFKA_SHARED_LIB_NAME} PROPERTIES OUTPUT_NAME "wfkafka" VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
|
||||
endif ()
|
||||
|
||||
|
||||
@@ -106,10 +106,11 @@ endif()
|
||||
|
||||
if (KAFKA STREQUAL "y")
|
||||
add_executable("kafka_cli" "tutorial-13-kafka_cli.cc")
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_library(SNAPPY_LIB NAMES snappy)
|
||||
find_library(LZ4_LIB NAMES lz4)
|
||||
find_library(ZSTD_LIB NAMES zstd)
|
||||
target_link_libraries("kafka_cli" ${WFKAFKA_LIB} ${LIB} z ${SNAPPY_LIB} ${LZ4_LIB} ${ZSTD_LIB})
|
||||
target_link_libraries("kafka_cli" ${WFKAFKA_LIB} ${LIB} ZLIB::ZLIB ${SNAPPY_LIB} ${LZ4_LIB} ${ZSTD_LIB})
|
||||
endif ()
|
||||
|
||||
set(DIR10 tutorial-10-user_defined_protocol)
|
||||
|
||||
Reference in New Issue
Block a user