1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
# ########### loggen_helper static lib ##############
set(LOGGEN_HELPER_SOURCE
loggen_helper.c
loggen_helper.h
${PROJECT_SOURCE_DIR}/lib/crypto.c
${PROJECT_SOURCE_DIR}/lib/compat/openssl_support.c
${PROJECT_SOURCE_DIR}/lib/compat/glib.c
)
add_library(loggen_helper STATIC ${LOGGEN_HELPER_SOURCE})
target_include_directories(loggen_helper PUBLIC
${CORE_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/lib
)
target_link_libraries(
loggen_helper
PUBLIC
GLib::GLib
GLib::GModule
GLib::GThread
OpenSSL::SSL
)
set_target_properties(loggen_helper
PROPERTIES VERSION ${SYSLOG_NG_VERSION}
SOVERSION ${SYSLOG_NG_VERSION})
install(TARGETS loggen_helper ARCHIVE DESTINATION ${LOGGEN_PLUGIN_INSTALL_DIR})
# ########### loggen_plugin common static lib for plugins #####
add_library(loggen_plugin STATIC
loggen_plugin.c
loggen_plugin.h
)
target_link_libraries(loggen_plugin PUBLIC loggen_helper)
set_target_properties(loggen_plugin
PROPERTIES VERSION ${SYSLOG_NG_VERSION}
SOVERSION ${SYSLOG_NG_VERSION})
install(TARGETS loggen_plugin ARCHIVE DESTINATION ${LOGGEN_PLUGIN_INSTALL_DIR})
# ########### loggen binary #################
set(LOGGEN_SOURCE
loggen.c
loggen_plugin.h
file_reader.c
file_reader.h
logline_generator.c
logline_generator.h
${PROJECT_SOURCE_DIR}/lib/reloc.c
${PROJECT_SOURCE_DIR}/lib/cache.c
)
add_executable(loggen ${LOGGEN_SOURCE})
target_compile_definitions(loggen PUBLIC
SYSLOG_NG_PATH_LOGGENPLUGINDIR="${LOGGEN_PLUGIN_INSTALL_DIR}"
)
target_link_libraries(
loggen
loggen_helper)
install(TARGETS loggen RUNTIME DESTINATION bin)
# ################# install dev headers ############
set(INTERFACE_HEADERS
loggen_plugin.h
loggen_helper.h
)
install(FILES ${INTERFACE_HEADERS} DESTINATION include/syslog-ng)
# ################# build plugins ############
set(LOGGEN_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory(socket_plugin)
add_subdirectory(ssl_plugin)
add_test_subdirectory(tests)
|