# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE mdm_service.xml) # # --- Library svcMdmCommon -------------------------------------------------------------------------------- # SET(SRCS_common mdm_export.h logger.cpp logger.h ) # Generate mdm_enums.idl / mdm.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate mdm_db_impl.cpp/.h, mdm_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common mdm_enums.idl) RTIDDSGEN(SRCS_common mdm.idl) # Generate mdm_dt[s,c]_types.h, mdm_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate mdm_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS HLA svcMdmCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcMdmCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcMdmCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore NGLLogger ngldb ) NGL_INSTALL_TARGET(svcMdmCommon) # # --- Library svcMdmClient -------------------------------------------------------------------------------- # SET(SRCS_client mdm_export.h ) # generate mdm_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcMdmClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcMdmClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcMdmClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcMdmCommon ddsftc ) NGL_INSTALL_TARGET(svcMdmClient) # # --- Library svcMdmServer -------------------------------------------------------------------------------- # SET(SRCS_server mdm_export.h ) # generate mdm_[d|f]ts.h, mdm_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV svcMdmServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcMdmServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcMdmServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcMdmCommon ngldb ) NGL_INSTALL_TARGET(svcMdmServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcMeteoDataManagement (sMDM) ------------------------------------------------- # SET(HDRS_exe main_handler.h settings.h dds_handler.h handler_infrastructure_data.h handler_meteo_data_units.h handler_meteo_data_unit.h handler_static_meteo_data.h tcpweatherstation.h tcpsocket.h tcpwind.h tcpclimate.h ) SET(SRCS_exe main.cpp main_handler.cpp settings.cpp dds_handler.cpp handler_infrastructure_data.cpp handler_meteo_data_units.cpp handler_meteo_data_unit.cpp handler_static_meteo_data.cpp tcpweatherstation.cpp tcpsocket.cpp tcpwind.cpp tcpclimate.cpp log4cxx_mdm.props ${xml_FILE} ) # Generate mdm.sql, mdm.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcMeteoDataManagement ${SRCS_exe} ${HDRS_exe}) NGL_TARGET_LINK_LIBRARIES(svcMeteoDataManagement Qt5::Core Qt5::Network ddsconnector svcMdmCommon svcMdmServer svcCoreClient svcIsmClient nglsettings ProjectConfig LtsCommandLineParser NGLLogger nglcoreapplication ngltools svcGnaServer ) NGL_INSTALL_TARGET(svcMeteoDataManagement) NGL_INSTALL(AAR SV FILES log4cxx_mdm.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcMeteoDataManagement sMDM) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)