# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE esm_service.xml) # # --- Library svcEsmCommon -------------------------------------------------------------------------------- # SET(SRCS_common esm_export.h logger.cpp logger.h ) # Generate esm_enums.idl / esm.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common esm_enums.idl) RTIDDSGEN(SRCS_common esm.idl) # Generate esm_dt[s,c]_types.h, esm_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # Generate esm_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) # Generate esm_db_impl.cpp/.h, esm_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcEsmCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcEsmCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcEsmCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore ngldb NGLLogger ) NGL_INSTALL_TARGET(svcEsmCommon) # # --- Library svcEsmClient -------------------------------------------------------------------------------- # SET(SRCS_client esm_export.h ) # generate esm_[d|f]tc.h, esm_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcEsmClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcEsmClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcEsmClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcEsmCommon ddsftc ) NGL_INSTALL_TARGET(svcEsmClient) # # --- Library svcEsmServer -------------------------------------------------------------------------------- # SET(SRCS_server dds_handler.cpp dds_handler.h effect_show_explosion_area.cpp effect_show_explosion_area.h effect_show_explosion_cluster.cpp effect_show_explosion_cluster.h effect_show_effect_cluster.cpp effect_show_effect_cluster.h effect_show_mine_area.cpp effect_show_mine_area.h esm_convert_from_tab.cpp esm_convert_from_tab.h esm_convert_to_tab.cpp esm_convert_to_tab.h handler_aes_data.cpp handler_aes_data.h handler_effect_show_actor_relocation.cpp handler_effect_show_actor_relocation.h handler_effect_show.cpp handler_effect_show.h handler_effect_show_vehicle_status.cpp handler_effect_show_vehicle_status.h handler_mdm_data.cpp handler_mdm_data.h handler_pdm_data.cpp handler_pdm_data.h handler_ppm_data.cpp handler_ppm_data.h handler_tab_data.cpp handler_tab_data.h initialization.cpp initialization.h object_aes_data.cpp object_aes_data.h object_effect_show_actor_relocation.cpp object_effect_show_actor_relocation.h object_effect_show.cpp object_effect_show.h object_effect_show_vehicle_status.cpp object_effect_show_vehicle_status.h settings.cpp settings.h ${xml_FILE} ) # generate esm_[d|f]ts.h, esm_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) # Generate esm.sql, esm.xml CODEGEN_SQL(SRCS_server ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_server) NGL_ADD_LIBRARY(AAR SV svcEsmServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcEsmServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcEsmServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts LtsCoordTrans ngldb nglsettings ngltools ProjectConfig svcAesClient svcCoreClient svcPpmClient svcMdmClient svcEsmCommon svcTabClient svcPdmClient PUBLIC Qt5::Core ddsconnector NGLLogger ) NGL_INSTALL_TARGET(svcEsmServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)