# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE obd_service.xml) # # --- Library svcObdCommon -------------------------------------------------------------------------------- # SET(SRCS_common obd_export.h logger.cpp logger.h ) # Generate obd_enums.idl / obd.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate obd_db_impl.cpp/.h, obd_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common obd_enums.idl) RTIDDSGEN(SRCS_common obd.idl) # Generate obd_dt[s,c]_types.h, obd_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # Generate obd_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE} PARTS FTC) NGL_ADD_LIBRARY(SV WS svcObdCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcObdCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcObdCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ngldb ddscore NGLLogger ) NGL_INSTALL_TARGET(svcObdCommon) # # --- Library svcObdClient -------------------------------------------------------------------------------- # SET(SRCS_client obd_export.h ) # generate obd_[d|f]tc.h, obd_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE} PARTS FTC) NGL_ADD_LIBRARY(SV WS svcObdClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcObdClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcObdClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcObdCommon ddsftc ) NGL_INSTALL_TARGET(svcObdClient) # # --- Library svcObdServer -------------------------------------------------------------------------------- # SET(SRCS_server obd_export.h ) # generate obd_[d|f]ts.h, obd_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE} PARTS FTS) NGL_ADD_LIBRARY(SV svcObdServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcObdServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcObdServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcObdCommon ngldb ) NGL_INSTALL_TARGET(svcObdServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcOcBaseDownload (sOBD) ------------------------------------------------- # SET(SRCS_exe copy_database.cpp copy_database.h main.cpp main_handler.cpp main_handler.h dds_handler.cpp dds_handler.h handler_base_download.cpp handler_base_download.h handler_pdf_download.cpp handler_pdf_download.h pdf_download_socket.cpp pdf_download_socket.h pdf_downloader.cpp pdf_downloader.h settings.cpp settings.h WebSocketInterface/data_manager.cpp WebSocketInterface/data_manager.h WebSocketInterface/enums.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 obd.sql, obd.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(SV svcOcBaseDownload ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcOcBaseDownload Qt5::Core dbAdminCopyExercise svcObdCommon svcObdServer svcCoreClient svcAsmServer svcEscServer svcEvlServer svcExmServer svcFlmServer svcIsmServer svcMsgServer svcMrkServer svcOpmServer svcPpmServer svcFltServer svcAesServer svcScmClient ddsconnector nglsettings ProjectConfig LtsCommandLineParser LtsUtilsCoreHeaderOnly LtsWebSocketClient NGLLogger nglcoreapplication ngltools ) NGL_INSTALL_TARGET(svcOcBaseDownload) NGL_INSTALL(SV FILES log4cxx_obd.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcOcBaseDownload sOBD) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)