middleware_agent/srcs/CMakeLists.txt

43 lines
2.0 KiB
CMake

SET(PROJECT_TARGET middleware_agent)
PROJECT(${PROJECT_TARGET} LANGUAGES C)
ADD_DEFINITIONS(${COMMON_DEFINE})
INCLUDE_DIRECTORIES(include ./ ./include ./libs/include ${COMMON_INCLUDE})
SET(CMAKE_C_STANDARD 99)
FILE(GLOB AGENT_HEADS include/*.h include/uthash/*.h include/s2j/*.h)
ADD_EXECUTABLE(${PROJECT_TARGET} ${AGENT_HEADS} middleware_agent.c)
TARGET_LINK_LIBRARIES(${PROJECT_TARGET} common)
TARGET_LINK_LIBRARIES(${PROJECT_TARGET} ${COMMON_LIBS})
TARGET_INCLUDE_DIRECTORIES(${PROJECT_TARGET} PUBLIC ${PROJECT_BINARY_DIR}/../)
# 自动复制配置文件到运行路径
ADD_CUSTOM_COMMAND(TARGET ${PROJECT_TARGET}
POST_BUILD
COMMENT "!!!!!! Notice: Automatic upgreade configuration files after build project."
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/config/"
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/log/"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/config/zlog.conf" "${CMAKE_CURRENT_BINARY_DIR}/config/"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/config/agent.cfg" "${CMAKE_CURRENT_BINARY_DIR}/config/"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/config/banner.txt" "${CMAKE_CURRENT_BINARY_DIR}/config/")
SET(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install/")
INSTALL(FILES ../config/agent.cfg ../config/agent@.service ../config/banner.txt ../config/zlog.conf
DESTINATION config)
INSTALL(TARGETS ${PROJECT_TARGET} RUNTIME DESTINATION ./)
INSTALL(DIRECTORY DESTINATION ./log)
SET(CPACK_GENERATOR "TGZ")
IF ("${VERSION_GIT_HASH_SHORT}" STREQUAL "")
STRING(REGEX REPLACE "[_:-]" "" VER_STR "${VERSION_GIT_TAG}")
SET(CPACK_PACKAGE_FILE_NAME "agent-${AGENT_VERSION}-linux-amd64_${VER_STR}")
ELSE ()
SET(CPACK_PACKAGE_FILE_NAME "agent-${AGENT_VERSION}-linux-amd64_${VERSION_GIT_HASH_SHORT}")
ENDIF ()
INCLUDE(CPack)