# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE asm_service.xml) # # --- Library svcAsmCommon -------------------------------------------------------------------------------- # SET(SRCS_common asm_export.h logger.cpp logger.h ) # Generate asm_enums.idl / asm.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate asm_db_impl.cpp/.h, asm_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common asm_enums.idl) RTIDDSGEN(SRCS_common asm.idl) # Generate asm_dt[s,c]_types.h, asm_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate asm_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS HLA svcAsmCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcAsmCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcAsmCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ngldb ddscore NGLLogger ) NGL_INSTALL_TARGET(svcAsmCommon) # # --- Library svcAsmClient -------------------------------------------------------------------------------- # SET(SRCS_client asm_dtc_impl_custom.cpp asm_dtc_impl_custom.h asm_export.h ) # generate asm_ftc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(WS AAR SV svcAsmClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcAsmClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcAsmClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcAsmCommon ddsftc ) NGL_INSTALL_TARGET(svcAsmClient) # # --- Library svcAsmServer -------------------------------------------------------------------------------- # SET(SRCS_server asm_export.h convert_db_to_dds.h ) # generate asm_[d|f]ts.h, asm_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(WS AAR SV svcAsmServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcAsmServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcAsmServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcAsmCommon ngldb ) NGL_INSTALL_TARGET(svcAsmServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcAssetManagement (sASM) ------------------------------------------------- # SET(SRCS_exe dds_handler.cpp dds_handler.h handler_asset.cpp handler_asset.h handler_location.cpp handler_location.h handler_training_area.cpp handler_training_area.h handler_workstation_logout.cpp handler_workstation_logout.h handler_relay_info.cpp handler_relay_info.h main.cpp main_handler.cpp main_handler.h object_asset.cpp object_asset.h object_map_description.cpp object_map_description.h object_training_area.cpp object_training_area.h object_relay_info.cpp object_relay_info.h settings.cpp settings.h WebSocketInterface/data_manager.cpp WebSocketInterface/data_manager.h WebSocketInterface/json_keys.h WebSocketInterface/websocket_interface_handler.cpp WebSocketInterface/websocket_interface_handler.h WebSocketInterface/Messages/client_message.cpp WebSocketInterface/Messages/client_message.h WebSocketInterface/Messages/reply_message.cpp WebSocketInterface/Messages/reply_message.h ${xml_FILE} ) # Generate asm.sql, asm.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(SV AAR svcAssetManagement ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcAssetManagement Qt5::Core svcAsmCommon svcAsmServer svcCoreClient ddsconnector nglsettings ProjectConfig LtsCommandLineParser LtsWebSocketServer NGLLogger nglcoreapplication ngltools LtsUtilsCore ) NGL_INSTALL_TARGET(svcAssetManagement) NGL_INSTALL(AAR SV FILES log4cxx_asm.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcAssetManagement sASM) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) ADD_SUBDIRECTORY(ModuleTests)