# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE scm_service.xml) # # --- Library svcScmCommon -------------------------------------------------------------------------------- # SET(SRCS_common scm_export.h logger.cpp logger.h ) # Generate scm_enums.idl / scm.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate scm_db_impl.cpp/.h, scm_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common scm_enums.idl) RTIDDSGEN(SRCS_common scm.idl) # Generate scm_dt[s,c]_types.h, scm_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate scm_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(SV AAR WS svcScmCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcScmCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcScmCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore NGLLogger ngldb ) NGL_INSTALL_TARGET(svcScmCommon) # # --- Library svcScmClient -------------------------------------------------------------------------------- # SET(SRCS_client scm_export.h ) # generate scm_ftc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(WS AAR SV svcScmClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcScmClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcScmClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcScmCommon ddsftc ) NGL_INSTALL_TARGET(svcScmClient) # # --- Library svcScmServer -------------------------------------------------------------------------------- # SET(SRCS_server scm_export.h ) # generate scm_[d|f]ts.h, scm_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(SV AAR svcScmServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcScmServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcScmServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcScmCommon ngldb ) NGL_INSTALL_TARGET(svcScmServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable ServiceManagement(svcServiceManagement) ------------------------------------------------- # SET(SRCS_exe dds_handler.cpp dds_handler.h group.cpp group.h group_handler.cpp group_handler.h heartbeat_listener.cpp heartbeat_listener.h licence_donator.h licence_handler.cpp licence_handler.h main.cpp service.cpp service.h service_donator.h service_handler.cpp service_handler.h service_process.cpp service_process.h main_handler.cpp main_handler.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} log4cxx_scm.props ) # Generate scm.sql, scm.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) # install dummy licence file for developers IF(NOT BUILD_RPM) INSTALL_SHARED_FILES(SRCS_exe FILES "licence_file.crl" "oc_licence_file.crl" DESTINATION "Licence" SV AAR ) ENDIF() NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(SV AAR svcServiceManagement ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcServiceManagement Qt5::Core svcCoreClient ddsconnector codegen_base LtsCommandLineParser nglsinglecoreapplication NGLLogger nglsettings ngltools ProjectConfig svcScmCommon svcScmServer LtsLicence LtsWebSocketServer ) NGL_INSTALL_TARGET(svcServiceManagement) NGL_INSTALL(SV AAR FILES log4cxx_scm.props DESTINATION bin) NGL_INSTALL(SV AAR PROGRAMS check_start DESTINATION bin) # Uncomment if necessary ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)