You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.4 KiB
CMake

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 调用zlog的makefile文件
# zlog 位置
set(ZLOG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlog)
set(ZLOG_LIBRARY ${ZLOG_SOURCE_DIR}/src/libzlog.a)
add_custom_target(build_zlog ALL
# 加入交叉编译参数
COMMAND ${CMAKE_MAKE_PROGRAM} -e CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
WORKING_DIRECTORY ${ZLOG_SOURCE_DIR}
COMMENT "Original zlog makefile target")
add_library(zlog STATIC IMPORTED)
set_property(TARGET zlog APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
set_target_properties(zlog PROPERTIES IMPORTED_LOCATION_NOCONFIG "${ZLOG_LIBRARY}")
add_dependencies(zlog build_zlog)
# zlog编译完成
# 头文件路径传递到父cmake文件中
set(ZLOG_INCLUDE_DIR "${ZLOG_SOURCE_DIR}/src/")
set(ZLOG_INCLUDE_DIR ${ZLOG_INCLUDE_DIR} PARENT_SCOPE)
# 每次连接都需要头文件现在需要最后连接还是需要所以上传路径到父cmake中
include_directories (${ZLOG_INCLUDE_DIR})
add_library(zlog_manager SHARED log_manager.cxx)
set(EXTRA_LIBS
pthread
#"-Wl,--whole-archive" #告诉编译器从这里开始所有的库的内容都包含到so中如果后续想把zlog和manager打包到一起需要这两句话
zlog
#"-Wl,--no-whole-archive" #告诉编译器从这里开始以后的库的内容不用都包含到so中
)
target_link_libraries(zlog_manager
${EXTRA_LIBS}
)
install (TARGETS zlog_manager DESTINATION lib)
install (FILES log_manager.h DESTINATION include)