# # $Id$ # $HeadURL$ # $Author$ # INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE pdm_service.xml) # # --- Library svcPdmCommon -------------------------------------------------------------------------------- # SET(SRCS_common pdm_export.h pdm_to_string.cpp pdm_to_string.h logger.cpp logger.h ) # Generate pdm_enums.idl / pdm.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate pdm_db.h CODEGEN_DATABASE_STRUCTS(SRCS_common ${xml_FILE}) # Generate pdm_db_impl.cpp/.h, CODEGEN_DATABASE_SQL(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common pdm_enums.idl) RTIDDSGEN(SRCS_common pdm.idl) # Generate pdm_dt[s,c]_types.h, pdm_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate pdm_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS HLA svcPdmCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcPdmCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcPdmCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore NGLLogger LtsUtilsCore ngldb ) NGL_INSTALL_TARGET(svcPdmCommon) # # --- Library svcPdmClient -------------------------------------------------------------------------------- # SET(SRCS_client pdm_export.h pdm_dtc_impl_custom.cpp pdm_dtc_impl_custom.h ) # generate pdm_ftc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(WS AAR SV HLA svcPdmClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcPdmClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcPdmClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcPdmCommon ddsftc ) NGL_INSTALL_TARGET(svcPdmClient) # # --- Library svcPdmServer -------------------------------------------------------------------------------- # SET(SRCS_server pdm_export.h ) # generate pdm_[d|f]ts.h, pdm_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(WS AAR SV svcPdmServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcPdmServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcPdmServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcPdmCommon ngldb ) NGL_INSTALL_TARGET(svcPdmServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- Executable svcProjectDataManagement (sPDM) ------------------------------------------------- # LIST(APPEND SRCS_exe convert_db_to_dds.h dds_handler.cpp dds_handler.h main.cpp main_handler.cpp main_handler.h settings.cpp settings.h static_data_publisher.h translation.cpp translation.h chargetype_rename.cpp chargetype_rename.h static_pvsan_import.cpp static_pvsan_import.h ${xml_FILE} ) # Generate pdm.sql, pdm.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcProjectDataManagement ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcProjectDataManagement Qt5::Core svcCoreClient svcPdmCommon svcPdmServer ddsconnector nglsettings ProjectConfig LtsCommandLineParser LtsWebSocketServer NGLLogger nglcoreapplication ngltools ) NGL_INSTALL_TARGET(svcProjectDataManagement) NGL_INSTALL(AAR SV FILES log4cxx_pdm.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcProjectDataManagement sPDM) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) ADD_SUBDIRECTORY(ModuleTests)