# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE nme_service.xml) # # --- Library svcNmeCommon -------------------------------------------------------------------------------- # SET(SRCS_common nme_export.h logger.cpp logger.h ) # Generate nme_enums.idl / nme.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common nme_enums.idl) RTIDDSGEN(SRCS_common nme.idl) # Generate nme_dt[s,c]_types.h, nme_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # Generate nme_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcNmeCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcNmeCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcNmeCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore NGLLogger ) NGL_INSTALL_TARGET(svcNmeCommon) # # --- Library svcNmeClient -------------------------------------------------------------------------------- # SET(SRCS_client nme_export.h ) # generate nme_[d|f]tc.h, nme_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcNmeClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcNmeClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcNmeClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcNmeCommon ddsftc ) NGL_INSTALL_TARGET(svcNmeClient) # # --- Library svcNmeServer -------------------------------------------------------------------------------- # SET(SRCS_server nme_export.h ) # generate nme_[d|f]ts.h, nme_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) # Generate nme_db_impl.cpp/.h, nme_db.h CODEGEN_DATABASE(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV svcNmeServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcNmeServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcNmeServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts ngldb PUBLIC svcNmeCommon ) NGL_INSTALL_TARGET(svcNmeServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcNmeaManagement (sNME) ------------------------------------------------- # SET(SRCS_exe main.cpp main_handler.cpp main_handler.h dds_handler.cpp dds_handler.h settings.cpp settings.h nmea_handler.cpp nmea_handler.h socket_handler.cpp socket_handler.h ${xml_FILE} ) # Generate nme.sql, nme.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcNmeaManagement ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcNmeaManagement Qt5::Core Qt5::Network svcNmeCommon svcNmeServer ddsconnector nglsettings ProjectConfig LtsCommandLineParser NGLLogger nglcoreapplication svcCoreClient ngltools ) NGL_INSTALL_TARGET(svcNmeaManagement) NGL_INSTALL( SV FILES log4cxx_nme.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcNmeaManagement sNME) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)