# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE cmo_service.xml) # # --- Library svcCmoCommon -------------------------------------------------------------------------------- # SET(SRCS_common cmo_export.h logger.cpp logger.h ) # Generate cmo_enums.idl / cmo.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate cmo_db_impl.cpp/.h, cmo_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common cmo_enums.idl) RTIDDSGEN(SRCS_common cmo.idl) # Generate cmo_dt[s,c]_types.h, cmo_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # Generate cmo_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(SV WS svcCmoCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcCmoCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcCmoCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore ngldb NGLLogger ) NGL_INSTALL_TARGET(svcCmoCommon) # # --- Library svcCmoClient -------------------------------------------------------------------------------- # SET(SRCS_client cmo_export.h ) # generate cmo_[d|f]tc.h, cmo_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(SV WS svcCmoClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcCmoClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcCmoClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcCmoCommon ddsftc ngldb ) NGL_INSTALL_TARGET(svcCmoClient) # # --- Library svcCmoServer -------------------------------------------------------------------------------- # SET(SRCS_server cmo_export.h ) # generate cmo_[d|f]ts.h, cmo_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(SV svcCmoServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcCmoServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcCmoServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts ngldb PUBLIC svcCmoCommon ) NGL_INSTALL_TARGET(svcCmoServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcComponentMonitor (sCMO) ------------------------------------------------- # SET(SRCS_exe main.cpp main_handler.cpp main_handler.h initialization.cpp initialization.cpp dds_handler.cpp dds_handler.h settings.cpp settings.h component_status_handler.cpp component_status_handler.h checkmk_handler.cpp checkmk_handler.h checkmk_handler_schedule_check.cpp checkmk_handler_schedule_check.h ${xml_FILE} ) # Generate cmo.sql, cmo.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(SV svcComponentMonitor ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcComponentMonitor Qt5::Core Qt5::Network svcCmoCommon svcCmoServer svcCoreClient # pacemaker ddsconnector nglsettings ProjectConfig LtsCommandLineParser NGLLogger nglcoreapplication ngltools svcIsmClient ) NGL_INSTALL_TARGET(svcComponentMonitor) NGL_INSTALL(SV FILES log4cxx_cmo.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcComponentMonitor sCMO) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)