project(diagramCavas) set(DIAGRAMCAVAS_HEADER_FILES include/baseScene.h include/designerScene.h include/designerView.h include/diagramCavas.h include/diagramCavas_p.h include/baseDrawingPanel.h include/monitorPanel.h include/monitorSideBarDlg.h include/monitorSelectedItemsDlg.h include/monitorToolPage.h include/monitorToolBox.h include/monitorAttributeDlg.h include/monitorAttributeGroupDlg.h include/monitorConfigDlg.h include/monitorDetailAttributeDlg.h include/monitorDisplaySettingDlg.h include/monitorItemPreviewDlg.h include/loadMonitorPageDlg.h include/cornerMonitorLauncher.h include/itemPropertyDlg.h include/propertyContentDlg.h include/serializable.h include/statusBar.h include/powerEntity.h include/powerConnection.h include/powerTerminal.h include/topologyManager.h include/baseInfoDlg.h include/baseContentDlg.h include/ptExtraInfoDlg.h include/ctExtraInfoDlg.h include/bayInfoDlg.h include/bayManagerDlg.h include/bayManagerContentDlg.h include/measureSettingDlg.h include/projectIconSetting.h include/projectIconSelectionDlg.h include/diagramConnectSetting.h include/structDataPreviewDlg.h include/titleBar.h include/structDataMeasurementModel.h include/structDataPropertyModel.h include/structDataMeasurementDelegate.h include/structDataPropertyDelegate.h include/structDataCauseEditDlg.h include/structDataActionParaDlg.h include/bayMeasureDlg.h include/basePropertyProxy.h include/basePannelPropertyProxy.h include/baseItemPropertyProxy.h include/dataSourceDlg.h include/createHMIdlg.h include/propertyDialog.h include/eventPropertyEditor.h include/graphicsDataModel/baseModel.h include/graphicsDataModel/fixedPortsModel.h include/graphicsItem/graphicsItemGroup.h #include/graphicsItem/graphicsPolygonItem.h include/graphicsItem/handleRect.h include/graphicsItem/handleText.h include/graphicsItem/itemPort.h include/graphicsItem/electricBayItem.h include/graphicsItem/itemControlHandle.h include/graphicsItem/graphicsBaseItem.h include/graphicsItem/pluginItemFactory.h include/graphicsItem/pluginItemWrapper.h include/graphicsItem/pluginSvgItemWrapper.h include/graphicsItem/functionModelItem/electricFunctionModelConnectLineItem.h include/graphicsItem/functionModelItem/electricFunctionModelPortItem.h include/graphicsItem/functionModelItem/electricFunctionModelSvgGroup.h include/graphicsItem/functionModelItem/electricFunctionModelSvgGroupCT.h include/graphicsItem/functionModelItem/electricFunctionModelSvgGroupPT.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItem.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItem2wTransformer.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItem3wTransformer.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemBus.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemCableEnd.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemCableTer.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemCB.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemCT.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemDS.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemDTEDS.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemES.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemFES.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemLA.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemPI.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemPT.h include/graphicsItem/functionModelItem/graphicsFunctionModelItem.h include/graphicsItem/functionModelItem/electricFunctionModelSvgItemImage.h include/graphicsItem/functionModelItem/electricFunctionModelItemText.h include/graphicsItem/functionModelItem/graphicsEventContext.h include/baseModelItem/electricBaseModelSvgItem.h include/baseModelItem/electricBaseModelLineItem.h include/baseModelItem/electricBaseModelSvgBus.h include/baseModelItem/electricBaseModelPortItem.h include/util/baseSelector.h include/util/connectingSelector.h include/util/creatingSelector.h include/util/editingSelector.h include/util/linkMovingSelector.h include/util/movingSelector.h include/util/rotationSelector.h include/util/scalingSelector.h include/util/selectorManager.h include/util/subMovingSelector.h include/instance/dataAccessor.h include/propertyType/CustomGadget.h include/propertyType/CustomType.h include/propertyType/dataSourceType.h include/propertyType/PropertyTypeCustomization_CustomType.h include/propertyType/propertyTypeCustomization_DataSourceType.h include/propertyType/propertyTypeCustomization_ConfigEventData.h include/propertyType/pannelColorGadget.h include/propertyType/configEventData.h include/evetConfig/eventExecutor.h include/evetConfig/eventHandler.h include/evetConfig/panelVisibilityEventHandler.h include/evetConfig/scriptEventHandler.h include/evetConfig/variableSetEventHandler.h ../common/include/httpInterface.h ../common/include/tools.h ../common/include/baseProperty.h ../common/include/compiler.hpp ../common/include/export.hpp ../common/include/operatingSystem.hpp ../common/include/structDataSource.h ../common/include/extraPropertyManager.h ../common/core_model/types.h ../common/core_model/diagram.h ../common/core_model/topology.h ../common/core_model/data_transmission.h ../common/core_model/constants.h ../common/frontend/monitor_item.h ../common/backend/project_model.h ../common/frontend/graphics_items.h ) set(DIAGRAMCAVAS_SOURCE_FILES source/baseScene.cpp source/designerScene.cpp source/designerView.cpp source/diagramCavas.cpp source/diagramCavas_p.cpp source/baseDrawingPanel.cpp source/monitorPanel.cpp source/monitorSideBarDlg.cpp source/monitorSelectedItemsDlg.cpp source/monitorToolPage.cpp source/monitorToolBox.cpp source/monitorAttributeDlg.cpp source/monitorAttributeGroupDlg.cpp source/monitorConfigDlg.cpp source/monitorDetailAttributeDlg.cpp source/monitorDisplaySettingDlg.cpp source/monitorItemPreviewDlg.cpp source/loadMonitorPageDlg.cpp source/cornerMonitorLauncher.cpp source/itemPropertyDlg.cpp source/propertyContentDlg.cpp source/statusBar.cpp source/powerEntity.cpp source/powerConnection.cpp source/powerTerminal.cpp source/topologyManager.cpp source/baseInfoDlg.cpp source/baseContentDlg.cpp source/ptExtraInfoDlg.cpp source/ctExtraInfoDlg.cpp source/bayInfoDlg.cpp source/bayManagerDlg.cpp source/bayManagerContentDlg.cpp source/measureSettingDlg.cpp source/projectIconSetting.cpp source/projectIconSelectionDlg.cpp source/diagramConnectSetting.cpp source/structDataPreviewDlg.cpp source/titleBar.cpp source/structDataMeasurementModel.cpp source/structDataPropertyModel.cpp source/structDataMeasurementDelegate.cpp source/structDataPropertyDelegate.cpp source/structDataCauseEditDlg.cpp source/structDataActionParaDlg.cpp source/bayMeasureDlg.cpp source/basePropertyProxy.cpp source/basePannelPropertyProxy.cpp source/baseItemPropertyProxy.cpp source/dataSourceDlg.cpp source/createHMIdlg.cpp source/propertyDialog.cpp source/graphicsDataModel/baseModel.cpp source/graphicsDataModel/fixedPortsModel.cpp source/graphicsItem/graphicsItemGroup.cpp #source/graphicsItem/graphicsPolygonItem.cpp source/graphicsItem/handleRect.cpp source/graphicsItem/handleText.cpp source/graphicsItem/itemPort.cpp source/graphicsItem/electricBayItem.cpp source/graphicsItem/itemControlHandle.cpp source/graphicsItem/graphicsBaseItem.cpp source/graphicsItem/pluginItemFactory.cpp source/graphicsItem/pluginItemWrapper.cpp source/graphicsItem/pluginSvgItemWrapper.cpp source/graphicsItem/functionModelItem/electricFunctionModelConnectLineItem.cpp source/graphicsItem/functionModelItem/electricFunctionModelPortItem.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgGroup.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgGroupCT.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgGroupPT.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItem.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItem2wTransformer.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItem3wTransformer.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemBus.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemCableEnd.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemCableTer.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemCB.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemCT.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemDS.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemDTEDS.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemES.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemFES.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemLA.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemPI.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemPT.cpp source/graphicsItem/functionModelItem/graphicsFunctionModelItem.cpp source/graphicsItem/functionModelItem/electricFunctionModelSvgItemImage.cpp source/graphicsItem/functionModelItem/electricFunctionModelItemText.cpp source/baseModelItem/electricBaseModelSvgItem.cpp source/baseModelItem/electricBaseModelLineItem.cpp source/baseModelItem/electricBaseModelSvgBus.cpp source/baseModelItem/electricBaseModelPortItem.cpp source/util/baseSelector.cpp source/util/connectingSelector.cpp source/util/creatingSelector.cpp source/util/editingSelector.cpp source/util/linkMovingSelector.cpp source/util/movingSelector.cpp source/util/rotationSelector.cpp source/util/scalingSelector.cpp source/util/selectorManager.cpp source/util/subMovingSelector.cpp source/instance/dataAccessor.cpp source/propertyType/PropertyTypeCustomization_CustomType.cpp source/propertyType/propertyTypeCustomization_DataSourceType.cpp source/propertyType/propertyTypeCustomization_ConfigEventData.cpp source/propertyType/pannelColorGadget.cpp ../common/source/httpInterface.cpp ../common/source/baseProperty.cpp ../common/source/tools.cpp ../common/source/structDataSource.cpp ../common/source/extraPropertyManager.cpp ../common/core_model/types.cpp ) set(UI_FILES ui/itemPropertyDlg.ui ui/baseInfoDlg.ui ui/ptExtraInfoDlg.ui ui/ctExtraInfoDlg.ui ui/bayInfoDlg.ui ui/measureSettingDlg.ui ui/bayManagerDlg.ui ui/bayManagerContentDlg.ui ui/projectIconSetting.ui ui/monitorConfigDlg.ui ui/monitorDetailAttributeDlg.ui ui/monitorDisplaySettingDlg.ui ui/loadMonitorPageDlg.ui ui/diagramConnectSetting.ui ui/structDataPreviewDlg.ui ui/bayMeasureDlg.ui ui/dataSourceDlg.ui ui/createHMIdlg.ui ) if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_library(diagramCavas SHARED MANUAL_FINALIZATION ${DIAGRAMCAVAS_HEADER_FILES} ${DIAGRAMCAVAS_SOURCE_FILES} ${UI_FILES} ../resource/DiagramDesigner.qrc ) else() add_library(diagramCavas SHARED ${DIAGRAMCAVAS_HEADER_FILES} ${DIAGRAMCAVAS_SOURCE_FILES} ${UI_FILES} ../resource/DiagramDesigner.qrc ) endif() target_link_libraries(diagramCavas PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets) target_link_libraries(diagramCavas PRIVATE Qt6::SvgWidgets) target_link_libraries(diagramCavas PRIVATE Qt6::Xml) target_link_libraries(diagramCavas PRIVATE Qt6::Network) target_link_libraries(diagramCavas PRIVATE Qt6::WebSockets) target_link_libraries(diagramCavas PRIVATE Qt6::Charts) target_link_libraries(diagramCavas PRIVATE Qt6::Sql ${PostgreSQL_LIBRARIES}) option(BUILD_SHARED_LIBS "Build as shared library" ON) target_include_directories(diagramCavas PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_link_libraries(diagramCavas PRIVATE diagramUtils) target_link_libraries(diagramCavas PRIVATE diagramCommunication) target_link_libraries(diagramCavas PRIVATE pluginManager) target_link_libraries(diagramCavas PUBLIC PropertyEditor) target_compile_definitions(diagramCavas PUBLIC DIAGRAM_DESIGNER_SHARED PRIVATE DIAGRAM_DESIGNER_EXPORTS #QT_NO_KEYWORDS )