# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE opm_service.xml) # # --- Library svcOpmCommon -------------------------------------------------------------------------------- # SET(SRCS_common opm_export.h logger.cpp logger.h ) # Generate opm_enums.idl / opm.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate opm_db_impl.cpp/.h, opm_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common opm_enums.idl) RTIDDSGEN(SRCS_common opm.idl) # Generate opm_dt[s,c]_types.h, opm_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate opm_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcOpmCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcOpmCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcOpmCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore ngldb LtsUtilsCore NGLLogger ) NGL_INSTALL_TARGET(svcOpmCommon) # # --- Library svcOpmClient -------------------------------------------------------------------------------- # SET(SRCS_client opm_export.h opm_dtc_impl_custom.cpp opm_dtc_impl_custom.h ) # generate opm_ftc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcOpmClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcOpmClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcOpmClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcOpmCommon ddsftc ) NGL_INSTALL_TARGET(svcOpmClient) # # --- Library svcOpmServer -------------------------------------------------------------------------------- # SET(SRCS_server opm_export.h ) # generate opm_[d|f]ts.h, opm_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV svcOpmServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcOpmServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcOpmServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcOpmCommon ngldb LtsUtilsCore ) NGL_INSTALL_TARGET(svcOpmServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcOperatorManagement (sOPM) ------------------------------------------------- # SET(SRCS_exe main.cpp settings.cpp settings.h dds_handler.cpp dds_handler.h main_handler.cpp main_handler.h handler_active_apps.cpp handler_active_apps.h handler_access_control_level.cpp handler_access_control_level.h handler_locked_topics.cpp handler_locked_topics.h handler_group.cpp handler_group.h handler_operator.cpp handler_operator.h object_access_control_level.cpp object_access_control_level.h object_group.cpp object_group.h object_operator.cpp object_operator.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 opm.sql, opm.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcOperatorManagement ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcOperatorManagement Qt5::Core ddsfts svcAsmClient svcCoreClient svcOpmCommon svcOpmClient svcOpmServer ddsconnector nglsettings ProjectConfig LtsCommandLineParser LtsWebSocketServer NGLLogger nglcoreapplication ngltools ) NGL_INSTALL_TARGET(svcOperatorManagement) NGL_INSTALL(AAR SV FILES log4cxx_opm.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcOperatorManagement sOPM) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) ADD_SUBDIRECTORY(ModuleTests)