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.
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 )