zlog使用动态链接

This commit is contained in:
yangwei
2020-09-10 15:38:49 +08:00
parent d42c5eeb0f
commit f15a1fd617
2 changed files with 7 additions and 6 deletions

View File

@@ -37,7 +37,7 @@ add_subdirectory(zlog)
# Shared Library Output # Shared Library Output
add_library(${lib_name}_shared SHARED src/MESA_handle_logger.c) add_library(${lib_name}_shared SHARED src/MESA_handle_logger.c)
target_link_libraries(${lib_name}_shared zlog-static) target_link_libraries(${lib_name}_shared zlog_shared)
set_target_properties(${lib_name}_shared PROPERTIES LINK_FLAGS set_target_properties(${lib_name}_shared PROPERTIES LINK_FLAGS
"-Wl,--version-script=${PROJECT_SOURCE_DIR}/src/version.map") "-Wl,--version-script=${PROJECT_SOURCE_DIR}/src/version.map")
@@ -52,7 +52,7 @@ set_target_properties(${lib_name}_shared PROPERTIES SOVERSION ${LIB_MAJOR_VERSIO
# static Library Output # static Library Output
add_library(${lib_name}_static STATIC src/MESA_handle_logger.c) add_library(${lib_name}_static STATIC src/MESA_handle_logger.c)
target_link_libraries(${lib_name}_static -Wl,--whole-archive zlog-static -Wl,--no-whole-archive) target_link_libraries(${lib_name}_static zlog_shared)
set_target_properties(${lib_name}_static PROPERTIES OUTPUT_NAME ${lib_name}) set_target_properties(${lib_name}_static PROPERTIES OUTPUT_NAME ${lib_name})
set(CMAKE_INSTALL_PREFIX /opt/MESA) set(CMAKE_INSTALL_PREFIX /opt/MESA)

View File

@@ -14,10 +14,11 @@ ExternalProject_Get_Property(zlog SOURCE_DIR)
file(MAKE_DIRECTORY ${SOURCE_DIR}/src/) file(MAKE_DIRECTORY ${SOURCE_DIR}/src/)
add_library(zlog-static STATIC IMPORTED GLOBAL) add_library(zlog_shared SHARED IMPORTED GLOBAL)
add_dependencies(zlog-static zlog) add_dependencies(zlog_shared zlog)
set_property(TARGET zlog-static PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/src/libzlog.a) set_property(TARGET zlog_shared PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/src/libzlog.so)
set_property(TARGET zlog-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR}/src) set_property(TARGET zlog_shared PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR}/src)
install(PROGRAMS ${SOURCE_DIR}/src/zlog-chk-conf DESTINATION bin COMPONENT EXECUTABLE) install(PROGRAMS ${SOURCE_DIR}/src/zlog-chk-conf DESTINATION bin COMPONENT EXECUTABLE)
install(PROGRAMS ${SOURCE_DIR}/src/libzlog.so DESTINATION lib COMPONENT LIBRARIES)