# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE oss_service.xml) # # --- Library svcOssCommon -------------------------------------------------------------------------------- # SET(SRCS_common oss_export.h logger.cpp logger.h ) # copy oss_predefined_data.sql to share SET(in_file_sql "oss_predefined_data.sql") SET(out_dir_sql "${CMAKE_BINARY_DIR}/share/Lts/sql/") SET(out_file_sql "${out_dir_sql}/${in_file_sql}") ADD_CUSTOM_COMMAND(OUTPUT ${out_file_sql} COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${out_dir_sql} COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${in_file_sql} ${out_file_sql} DEPENDS ${in_file_sql} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) LIST(APPEND SRCS_common ${in_file_sql} ${out_file_sql}) # Generate oss_enums.idl / oss.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate oss_db_impl.cpp/.h, oss_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common oss_enums.idl) RTIDDSGEN(SRCS_common oss.idl) # Generate oss_dt[s,c]_types.h, oss_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # Generate oss_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcOssCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcOssCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcOssCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core svcMsgCommon ngldb ddscore NGLLogger ) NGL_INSTALL_TARGET(svcOssCommon) # # --- Library svcOssClient -------------------------------------------------------------------------------- # SET(SRCS_client oss_export.h ) # generate oss_[d|f]tc.h, oss_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcOssClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcOssClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcOssClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcOssCommon ddsftc ) NGL_INSTALL_TARGET(svcOssClient) # # --- Library svcOssServer -------------------------------------------------------------------------------- # SET(SRCS_server oss_export.h ) # generate oss_[d|f]ts.h, oss_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV svcOssServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcOssServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcOssServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcOssCommon ngldb ) NGL_INSTALL_TARGET(svcOssServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- RecordReplayPlugin -------------------------------------------------------------- # CREATE_RECORD_REPLAY_PLUGIN(${xml_FILE} _srcs_not_needed) # # --- Executable svcOcSituationServer (sOSS) ------------------------------------------------- # SET(SRCS_exe main.cpp main_handler.cpp main_handler.h central_aes_data_builder.cpp central_aes_data_builder.h central_aes_data_queue.cpp central_aes_data_queue.h dds_handler.cpp dds_handler.h handler_oc_aes_data.cpp handler_oc_aes_data.h handler_oc_central_aes_data.cpp handler_oc_central_aes_data.h handler_oc_data.cpp handler_oc_data.h handler_oc_situation_data.cpp handler_oc_situation_data.h position_converter.cpp position_converter.h settings.cpp settings.h oc_situation.h ${xml_FILE} ) # Generate oss.sql, oss.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcOcSituationServer ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcOcSituationServer Qt5::Core svcOssCommon svcOssServer svcCoreClient svcAesClient svcAsmClient svcEvlClient svcExmClient svcGimClient svcMsgClient svcPpmClient svcTabClient ddsconnector nglsettings ProjectConfig LtsCommandLineParser LtsCoordTrans LtsUtilsCoreHeaderOnly NGLLogger nglcoreapplication ngltools ) NGL_INSTALL_TARGET(svcOcSituationServer) NGL_INSTALL(AAR SV FILES log4cxx_oss.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcOcSituationServer sOSS) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)