cmake_minimum_required (VERSION 3.5) include(ExternalProject) ExternalProject_Add(zlog PREFIX zlog URL ${CMAKE_CURRENT_SOURCE_DIR}/zlog-1.2.15.tar.gz URL_MD5 5e79f8d08744c7fef8528dd55a3bcd2d CONFIGURE_COMMAND "" BUILD_COMMAND make INSTALL_COMMAND "" BUILD_IN_SOURCE 1) ExternalProject_Get_Property(zlog SOURCE_DIR) file(MAKE_DIRECTORY ${SOURCE_DIR}/src/) add_library(zlog_static STATIC IMPORTED GLOBAL) add_dependencies(zlog_static zlog) set_property(TARGET zlog_static PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/src/libzlog.a) set_property(TARGET zlog_static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR}/src) add_library(zlog_shared SHARED IMPORTED GLOBAL) add_dependencies(zlog_shared zlog) set_property(TARGET zlog_shared PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/src/libzlog.so.1.2) set_property(TARGET zlog_shared PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR}/src) install(FILES ${SOURCE_DIR}/src/libzlog.so.1.2 DESTINATION lib COMPONENT LIBRARIES) install(FILES ${SOURCE_DIR}/src/zlog-chk-conf DESTINATION bin COMPONENT EXECUTABLE)