# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE msg_service.xml) # # --- Library svcMsgCommon -------------------------------------------------------------------------------- # SET(SRCS_common msg_export.h logger.cpp logger.h ) # Generate msg_enums.idl / msg.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate msg_db_impl.cpp/.h, msg_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common msg_enums.idl) RTIDDSGEN(SRCS_common msg.idl) # Generate msg_dt[s,c]_types.h, msg_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate msg_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcMsgCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcMsgCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcMsgCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore ngldb LtsCommandLineParser NGLLogger ) NGL_INSTALL_TARGET(svcMsgCommon) # # --- Library svcMsgClient -------------------------------------------------------------------------------- # SET(SRCS_client msg_export.h ) # generate msg_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcMsgClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcMsgClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcMsgClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcMsgCommon ddsftc ) NGL_INSTALL_TARGET(svcMsgClient) # # --- Library svcMsgServer -------------------------------------------------------------------------------- # SET(SRCS_server msg_export.h ) # generate msg_[d|f]ts.h, msg_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV svcMsgServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcMsgServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcMsgServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcMsgCommon ngldb ) NGL_INSTALL_TARGET(svcMsgServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcMessaging (sMSG) ------------------------------------------------- # SET(SRCS_exe main.cpp main_handler.cpp main_handler.h settings.cpp settings.h dds_handler.cpp dds_handler.h exercise_handler.cpp exercise_handler.h exercises_handler.cpp exercises_handler.h handler_operator_message.cpp handler_operator_message.h log4cxx_msg.props ${xml_FILE} ) # Generate msg.sql, msg.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcMessaging ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcMessaging Qt5::Core svcMsgCommon svcMsgServer svcTabClient svcOpmClient svcOssClient svcPpmClient svcCoreClient ddsconnector nglsettings ProjectConfig NGLLogger nglcoreapplication ngltools ) NGL_INSTALL_TARGET(svcMessaging) NGL_INSTALL(AAR SV FILES log4cxx_msg.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcMessaging sMSG) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) ADD_SUBDIRECTORY(ModuleTests)