# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE srp_service.xml) # # --- Library svcSrpCommon -------------------------------------------------------------------------------- # SET(SRCS_common srp_export.h logger.cpp logger.h ) # Generate srp_enums.idl / srp.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate srp_db_impl.cpp/.h, srp_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common srp_enums.idl) RTIDDSGEN(SRCS_common srp.idl) # Generate srp_dt[s,c]_types.h, srp_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate srp_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) # SV needed for topic type plugin NGL_ADD_LIBRARY(WS AAR SV svcSrpCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcSrpCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcSrpCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ngldb ddscore NGLLogger ) NGL_INSTALL_TARGET(svcSrpCommon) # # --- Library svcSrpClient -------------------------------------------------------------------------------- # SET(SRCS_client srp_export.h ) # generate srp_ftc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(WS svcSrpClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcSrpClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcSrpClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcSrpCommon ddsftc ) NGL_INSTALL_TARGET(svcSrpClient) # # --- Library svcSrpServer -------------------------------------------------------------------------------- # SET(SRCS_server srp_export.h ) # generate srp_[d|f]ts.h, srp_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcSrpServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcSrpServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcSrpServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcSrpCommon ngldb ) NGL_INSTALL_TARGET(svcSrpServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcSituationReplay (sSrp) ------------------------------------------------- # SET(SRCS_exe db_reader.cpp db_reader.h dds_handler.cpp dds_handler.h handler_situation_replay.cpp handler_situation_replay.h main.cpp main_handler.cpp main_handler.h object_situation_replay.cpp object_situation_replay.h settings.cpp settings.h ${xml_FILE} ) # Generate srp.sql, srp.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(WS AAR SV svcSituationReplay ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcSituationReplay rscCommon Qt5::Core svcCoreClient svcSrpCommon svcSrpServer ddsconnector nglsettings ProjectConfig LtsCommandLineParser NGLLogger nglcoreapplication LtsPluginLoader ngltools ) NGL_INSTALL_TARGET(svcSituationReplay) NGL_INSTALL(WS FILES log4cxx_srp.props DESTINATION bin) # svcSituationReplaySqlite SET(SRCS_sqlite db_reader.cpp db_reader.h dds_handler.cpp dds_handler.h handler_situation_replay_sqlite.cpp handler_situation_replay_sqlite.h main_handler_sqlite.cpp main_handler_sqlite.h object_situation_replay.cpp object_situation_replay.h static_publisher.cpp static_publisher.h ${xml_FILE} ) NGL_ADD_LIBRARY2(WS SituationReplaySqlite SHARED ${SRCS_sqlite}) NGL_TARGET_INCLUDE_DIRECTORIES(SituationReplaySqlite PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/.. ) NGL_TARGET_LINK_LIBRARIES(SituationReplaySqlite ddsconnector LtsPluginLoader LtsScriptTimeline NGLLogger ngltools Qt5::Core Qt5::Sql rscCommon svcCoreClient svcSrpCommon svcSrpServer svcAsmServer svcExmServer svcFlmServer svcIsmServer svcPdmServer svcPpmServer ) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) ADD_SUBDIRECTORY(ModuleTests)