project(diagramCavas) set(DIAGRAMCAVAS_HEADER_FILES include/baseScene.h include/designerScene.h include/designerView.h include/diagramCavas.h include/baseDrawingPanel.h include/drawingPanel.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/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/projectModelSetting.h include/projectIconSetting.h include/projectIconSelectionDlg.h include/projectDiagramNameInput.h include/diagramEditor/editPanel.h include/diagramEditor/editView.h include/diagramEditor/editScene.h include/diagramEditor/editRowData.h include/diagramEditor/editMainRect.h include/diagramEditor/editItem.h include/diagramEditor/editItems.h include/diagramEditor/editContainerItem.h include/diagramEditor/editBlock.h include/diagramEditor/editBaseStruct.h include/diagramEditor/diagramEditorWizard.h include/diagramEditor/wizardBusTableDelegate.h include/diagramEditor/wizardBayContentDlg.h include/diagramEditor/diagramEditorBaseBlock.h include/diagramEditor/diagramEditorStructContainer.h include/diagramEditor/diagramEditorBaySettingDlg.h include/diagramEditor/diagramEditorBayDetailSettingDlg.h include/diagramEditor/diagramEditorBayDetailAddDlg.h include/diagramEditor/diagramEditorTransSettingDlg.h include/diagramEditor/diagramEditorBayPreviewDlg.h include/diagramEditor/diagramEditorTransDetailAddDlg.h include/diagramEditor/diagramEditorTransDetailSettingDlg.h include/diagramEditor/diagramEditorTransPreviewDlg.h include/diagramEditor/diagramEditorPreviewDlg.h include/diagramEditor/confirmEditorDlg.h include/graphicsDataModel/baseModel.h include/graphicsDataModel/fixedPortsModel.h include/graphicsDataModel/diagramEditorModel.h include/graphicsItem/electricConnectLineItem.h include/graphicsItem/electricSvgItem.h include/graphicsItem/electricSvgItemBus.h include/graphicsItem/electricSvgItemRect.h include/graphicsItem/electricSvgItemTriangle.h include/graphicsItem/graphicsBaseItem.h include/graphicsItem/graphicsItemGroup.h include/graphicsItem/graphicsPolygonItem.h include/graphicsItem/graphicsRectItem.h include/graphicsItem/handleRect.h include/graphicsItem/handleText.h include/graphicsItem/itemControlHandle.h include/graphicsItem/itemPort.h include/graphicsItem/electricBayItem.h include/graphicsItem/electricPortItem.h include/graphicsItem/electricSvgGroup.h include/graphicsItem/electricSvgGroupCT.h include/graphicsItem/electricSvgItemCT.h include/graphicsItem/electricSvgGroupPT.h include/graphicsItem/electricSvgItemPT.h include/graphicsItem/electricSvgItemES.h include/graphicsItem/electricSvgItemDS.h include/graphicsItem/electricSvgItemFES.h include/graphicsItem/electricSvgItemDTEDS.h include/graphicsItem/electricSvgItemPI.h include/graphicsItem/electricSvgItemLA.h include/graphicsItem/electricSvgItemCableTer.h include/graphicsItem/electricSvgItemCableEnd.h include/graphicsItem/electricSvgItem2wTransformer.h include/graphicsItem/electricSvgItem3wTransformer.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 ../common/include/httpInterface.h ../common/include/tools.h ../common/include/global.h ../common/include/baseProperty.h ../common/include/compiler.hpp ../common/include/export.hpp ../common/include/operatingSystem.hpp ) set(DIAGRAMCAVAS_SOURCE_FILES source/baseScene.cpp source/designerScene.cpp source/designerView.cpp source/diagramCavas.cpp source/baseDrawingPanel.cpp source/drawingPanel.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/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/projectModelSetting.cpp source/projectIconSetting.cpp source/projectIconSelectionDlg.cpp source/projectDiagramNameInput.cpp source/diagramEditor/editPanel.cpp source/diagramEditor/editView.cpp source/diagramEditor/editScene.cpp source/diagramEditor/editRowData.cpp source/diagramEditor/editMainRect.cpp source/diagramEditor/editItem.cpp source/diagramEditor/editItems.cpp source/diagramEditor/editContainerItem.cpp source/diagramEditor/editBlock.cpp source/diagramEditor/editBaseStruct.cpp source/diagramEditor/diagramEditorWizard.cpp source/diagramEditor/wizardBusTableDelegate.cpp source/diagramEditor/wizardBayContentDlg.cpp source/diagramEditor/diagramEditorBaseBlock.cpp source/diagramEditor/diagramEditorStructContainer.cpp source/diagramEditor/diagramEditorBaySettingDlg.cpp source/diagramEditor/diagramEditorBayDetailSettingDlg.cpp source/diagramEditor/diagramEditorBayDetailAddDlg.cpp source/diagramEditor/diagramEditorTransSettingDlg.cpp source/diagramEditor/diagramEditorBayPreviewDlg.cpp source/diagramEditor/diagramEditorTransDetailAddDlg.cpp source/diagramEditor/diagramEditorTransDetailSettingDlg.cpp source/diagramEditor/diagramEditorTransPreviewDlg.cpp source/diagramEditor/diagramEditorPreviewDlg.cpp source/diagramEditor/confirmEditorDlg.cpp source/graphicsDataModel/baseModel.cpp source/graphicsDataModel/fixedPortsModel.cpp source/graphicsDataModel/diagramEditorModel.cpp source/graphicsItem/electricConnectLineItem.cpp source/graphicsItem/electricSvgItem.cpp source/graphicsItem/electricSvgItemBus.cpp source/graphicsItem/electricSvgItemRect.cpp source/graphicsItem/electricSvgItemTriangle.cpp source/graphicsItem/graphicsBaseItem.cpp source/graphicsItem/graphicsItemGroup.cpp source/graphicsItem/graphicsPolygonItem.cpp source/graphicsItem/graphicsRectItem.cpp source/graphicsItem/handleRect.cpp source/graphicsItem/handleText.cpp source/graphicsItem/itemControlHandle.cpp source/graphicsItem/itemPort.cpp source/graphicsItem/electricBayItem.cpp source/graphicsItem/electricPortItem.cpp source/graphicsItem/electricSvgGroup.cpp source/graphicsItem/electricSvgGroupCT.cpp source/graphicsItem/electricSvgItemCT.cpp source/graphicsItem/electricSvgGroupPT.cpp source/graphicsItem/electricSvgItemPT.cpp source/graphicsItem/electricSvgItemES.cpp source/graphicsItem/electricSvgItemDS.cpp source/graphicsItem/electricSvgItemFES.cpp source/graphicsItem/electricSvgItemDTEDS.cpp source/graphicsItem/electricSvgItemPI.cpp source/graphicsItem/electricSvgItemLA.cpp source/graphicsItem/electricSvgItemCableTer.cpp source/graphicsItem/electricSvgItemCableEnd.cpp source/graphicsItem/electricSvgItem2wTransformer.cpp source/graphicsItem/electricSvgItem3wTransformer.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 ../common/source/httpInterface.cpp ../common/source/baseProperty.cpp ../common/source/tools.cpp ../common/source/global.cpp ) set(UI_FILES ui/itemPropertyDlg.ui ui/baseInfoDlg.ui ui/ptExtraInfoDlg.ui ui/ctExtraInfoDlg.ui ui/editorSettingDlg.ui ui/diagramEditorWizard.ui ui/projectModelSetting.ui ui/projectDiagramNameInput.ui ui/bayInfoDlg.ui ui/measureSettingDlg.ui ui/bayManagerDlg.ui ui/bayManagerContentDlg.ui ui/diagramEditorBaySettingDlg.ui ui/diagramEditorTransSettingDlg.ui ui/diagramEditorBayDetailSettingDlg.ui ui/diagramEditorBayDetailAddDlg.ui ui/diagramEditorTransDetailSettingDlg.ui ui/diagramEditorTransDetailAddDlg.ui ui/confirmEditorDlg.ui ui/projectIconSetting.ui ui/monitorConfigDlg.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::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_compile_definitions(diagramCavas PUBLIC DIAGRAM_DESIGNER_SHARED PRIVATE DIAGRAM_DESIGNER_EXPORTS #QT_NO_KEYWORDS )