if(MSVC) add_compile_options(/utf-8) endif(MSVC) # In previous versions this target copied mtextedit.h to the binary directory that causes # automoc to generate linking errors. if(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) if (EXISTS ${CMAKE_CURRENT_BINARY_DIR}/mtextedit.h) file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/mtextedit.h) execute_process(COMMAND "${CMAKE_COMMAND}" -E touch_nocreate "${CMAKE_CURRENT_SOURCE_DIR}/mtextedit.h") endif() endif() # The XML files set(TechDrawGui_XML_SRCS ) set(TechDrawGui_LIBS TechDraw FreeCADGui ) set (TechDraw_TR_QRC ${CMAKE_CURRENT_BINARY_DIR}/Resources/TechDraw_translation.qrc) qt_find_and_add_translation(QM_SRCS "Resources/translations/*_*.ts" ${CMAKE_CURRENT_BINARY_DIR}/Resources/translations) qt_create_resource_file(${TechDraw_TR_QRC} ${QM_SRCS}) qt_add_resources(TechDrawGui_SRCS Resources/TechDraw.qrc ${TechDraw_TR_QRC}) set(TechDrawGui_UIC_SRCS DlgPageChooser.ui DlgPrefsTechDrawAdvanced.ui DlgPrefsTechDrawAnnotation.ui DlgPrefsTechDrawColors.ui DlgPrefsTechDrawDimensions.ui DlgPrefsTechDrawGeneral.ui DlgPrefsTechDrawHLR.ui DlgPrefsTechDrawScale.ui DlgTemplateField.ui mrichtextedit.ui TaskActiveView.ui TaskBalloon.ui TaskCosmeticLine.ui TaskSelectLineAttributes.ui TaskCustomizeFormat.ui TaskCosVertex.ui TaskCenterLine.ui TaskDetail.ui TaskDimension.ui TaskGeomHatch.ui TaskHatch.ui TaskLeaderLine.ui TaskLineDecor.ui TaskLinkDim.ui TaskProjGroup.ui TaskRestoreLines.ui TaskRichAnno.ui TaskSectionView.ui TaskWeldingSymbol.ui TaskSurfaceFinishSymbols.ui SymbolChooser.ui TaskMoveView.ui TaskProjection.ui TaskComplexSection.ui TaskDimRepair.ui TaskCosmeticCircle.ui ) SET(MRTE_SRCS mrichtextedit.ui mrichtextedit.cpp mrichtextedit.h mtextedit.cpp mtextedit.h ) SET(TechDrawGui_SRCS ${CMAKE_SOURCE_DIR}/src/Mod/TechDraw/InitGui.py ${TechDrawGui_SRCS} ${TechDrawGui_XML_SRCS} ${MRTE_SRCS} AppTechDrawGui.cpp AppTechDrawGuiPy.cpp Command.cpp CommandCreateDims.cpp CommandDecorate.cpp CommandAnnotate.cpp CommandAlign.cpp CommandExtensionDims.cpp CommandExtensionDims.h CommandExtensionPack.cpp CommandStack.cpp CommandHelpers.cpp CommandHelpers.h DimensionValidators.cpp DimensionValidators.h Resources/TechDraw.qrc PreCompiled.h Workbench.cpp Workbench.h TaskProjGroup.ui TaskProjGroup.cpp TaskProjGroup.h DlgPageChooser.ui DlgPageChooser.cpp DlgPageChooser.h DlgPrefsTechDrawGeneral.ui DlgPrefsTechDrawGeneralImp.cpp DlgPrefsTechDrawGeneralImp.h DlgPrefsTechDrawScale.ui DlgPrefsTechDrawScaleImp.cpp DlgPrefsTechDrawScaleImp.h DlgPrefsTechDrawAnnotation.ui DlgPrefsTechDrawAnnotationImp.cpp DlgPrefsTechDrawAnnotationImp.h DlgPrefsTechDrawDimensions.ui DlgPrefsTechDrawDimensionsImp.cpp DlgPrefsTechDrawDimensionsImp.h DlgPrefsTechDrawColors.ui DlgPrefsTechDrawColorsImp.cpp DlgPrefsTechDrawColorsImp.h DlgPrefsTechDrawAdvanced.ui DlgPrefsTechDrawAdvancedImp.cpp DlgPrefsTechDrawAdvancedImp.h DlgPrefsTechDrawHLR.ui DlgPrefsTechDrawHLRImp.cpp DlgPrefsTechDrawHLRImp.h DlgTemplateField.ui DlgTemplateField.cpp DlgTemplateField.h TaskSectionView.ui TaskSectionView.cpp TaskSectionView.h TaskBalloon.ui TaskBalloon.cpp TaskBalloon.h TaskDimension.ui TaskDimension.cpp TaskDimension.h TaskGeomHatch.ui TaskGeomHatch.cpp TaskGeomHatch.h TaskHatch.ui TaskHatch.cpp TaskHatch.h TaskLeaderLine.ui TaskLeaderLine.cpp TaskLeaderLine.h TaskRichAnno.ui TaskRichAnno.cpp TaskRichAnno.h TaskCosVertex.ui TaskCosVertex.cpp TaskCosVertex.h TaskCenterLine.ui TaskCenterLine.cpp TaskCenterLine.h TaskLineDecor.ui TaskLineDecor.cpp TaskLineDecor.h TaskLinkDim.ui TaskLinkDim.cpp TaskLinkDim.h TaskRestoreLines.ui TaskWeldingSymbol.ui TaskWeldingSymbol.cpp TaskWeldingSymbol.h TaskSurfaceFinishSymbols.ui TaskSurfaceFinishSymbols.cpp TaskSurfaceFinishSymbols.h TaskSelectLineAttributes.ui TaskSelectLineAttributes.cpp TaskSelectLineAttributes.h TaskCustomizeFormat.ui TaskCustomizeFormat.cpp TaskCustomizeFormat.h DrawGuiUtil.cpp DrawGuiUtil.h Rez.cpp Rez.h SymbolChooser.ui SymbolChooser.cpp SymbolChooser.h TaskActiveView.ui TaskActiveView.cpp TaskActiveView.h Grabber3d.cpp Grabber3d.h TaskDetail.ui TaskDetail.cpp TaskDetail.h PreferencesGui.cpp PreferencesGui.h TaskCosmeticLine.cpp TaskCosmeticLine.h TaskCosmeticLine.ui TaskMoveView.ui TaskProjection.cpp TaskProjection.h TaskProjection.ui TaskComplexSection.cpp TaskComplexSection.h TaskComplexSection.ui TaskDimRepair.cpp TaskDimRepair.h TaskDimRepair.ui TaskCosmeticCircle.cpp TaskCosmeticCircle.h TaskCosmeticCircle.ui TechDrawHandler.cpp TechDrawHandler.h Widgets/CompassDialWidget.cpp Widgets/CompassDialWidget.h Widgets/CompassWidget.cpp Widgets/CompassWidget.h Widgets/VectorEditWidget.cpp Widgets/VectorEditWidget.h PATPathMaker.cpp PATPathMaker.h ) SET(TechDrawGuiView_SRCS MDIViewPage.cpp MDIViewPage.h PagePrinter.cpp PagePrinter.h QGVPage.cpp QGVPage.h QGSPage.cpp QGSPage.h QGCustomText.cpp QGCustomText.h QGICaption.cpp QGICaption.h QGCustomRect.cpp QGCustomRect.h QGCustomSvg.cpp QGCustomSvg.h QGCustomClip.cpp QGCustomClip.h QGCustomLabel.cpp QGCustomLabel.h QGCustomBorder.cpp QGCustomBorder.h QGCustomImage.cpp QGCustomImage.h QGDisplayArea.cpp QGDisplayArea.h QGIView.cpp QGIView.h QGIArrow.cpp QGIArrow.h QGIDatumLabel.cpp QGIDatumLabel.h QGIEdge.cpp QGIEdge.h QGIFace.cpp QGIFace.h QGISVGTemplate.cpp QGISVGTemplate.h QGIVertex.cpp QGIVertex.h QGIMatting.cpp QGIMatting.h QGIDrawingTemplate.cpp QGIDrawingTemplate.h QGITemplate.cpp QGITemplate.h QGIViewCollection.cpp QGIViewCollection.h QGIViewDimension.cpp QGIViewDimension.h QGIViewBalloon.cpp QGIViewBalloon.h QGIProjGroup.cpp QGIProjGroup.h QGIViewPart.cpp QGIViewPart.h QGIViewSection.cpp QGIViewSection.h QGIViewAnnotation.cpp QGIViewAnnotation.h QGIViewSymbol.cpp QGIViewSymbol.h QGIViewSpreadsheet.cpp QGIViewSpreadsheet.h QGIViewImage.cpp QGIViewImage.h QGIViewClip.cpp QGIViewClip.h QGIPrimPath.cpp QGIPrimPath.h QGICMark.cpp QGICMark.h QGIDimLines.cpp QGIDimLines.h QGISectionLine.cpp QGISectionLine.h QGIDecoration.cpp QGIDecoration.h QGICenterLine.cpp QGICenterLine.h QGIHighlight.cpp QGIHighlight.h QGEPath.cpp QGEPath.h QGTracker.cpp QGTracker.h QGILeaderLine.cpp QGILeaderLine.h QGIRichAnno.cpp QGIRichAnno.h QGMText.h QGMText.cpp QGIWeldSymbol.h QGIWeldSymbol.cpp QGITile.h QGITile.cpp QGIUserTypes.h TemplateTextField.cpp TemplateTextField.h ZVALUE.h QGIGhostHighlight.cpp QGIGhostHighlight.h PathBuilder.cpp PathBuilder.h QGIBreakLine.cpp QGIBreakLine.h ) SET(TechDrawGuiNav_SRCS QGVNavStyle.cpp QGVNavStyle.h QGVNavStyleBlender.cpp QGVNavStyleBlender.h QGVNavStyleCAD.cpp QGVNavStyleCAD.h QGVNavStyleGesture.cpp QGVNavStyleGesture.h QGVNavStyleInventor.cpp QGVNavStyleInventor.h QGVNavStyleMaya.cpp QGVNavStyleMaya.h QGVNavStyleOCC.cpp QGVNavStyleOCC.h QGVNavStyleOpenSCAD.cpp QGVNavStyleOpenSCAD.h QGVNavStyleRevit.cpp QGVNavStyleRevit.h QGVNavStyleSolidWorks.cpp QGVNavStyleSolidWorks.h QGVNavStyleTinkerCAD.cpp QGVNavStyleTinkerCAD.h QGVNavStyleTouchpad.cpp QGVNavStyleTouchpad.h ) SET(TechDrawGuiViewProvider_SRCS ViewProviderPage.cpp ViewProviderPage.h ViewProviderPageExtension.cpp ViewProviderPageExtension.h ViewProviderDrawingView.cpp ViewProviderDrawingView.h ViewProviderDrawingViewExtension.cpp ViewProviderDrawingViewExtension.h ViewProviderProjGroupItem.cpp ViewProviderProjGroupItem.h ViewProviderTemplate.cpp ViewProviderTemplate.h ViewProviderTemplateExtension.cpp ViewProviderTemplateExtension.h ViewProviderDimension.cpp ViewProviderDimension.h ViewProviderBalloon.cpp ViewProviderBalloon.h ViewProviderViewPart.cpp ViewProviderViewPart.h ViewProviderProjGroup.cpp ViewProviderProjGroup.h ViewProviderViewSection.cpp ViewProviderViewSection.h ViewProviderAnnotation.cpp ViewProviderAnnotation.h ViewProviderSymbol.cpp ViewProviderSymbol.h ViewProviderSpreadsheet.cpp ViewProviderSpreadsheet.h ViewProviderViewClip.cpp ViewProviderViewClip.h ViewProviderGeomHatch.cpp ViewProviderGeomHatch.h ViewProviderHatch.cpp ViewProviderHatch.h ViewProviderImage.cpp ViewProviderImage.h ViewProviderLeader.cpp ViewProviderLeader.h ViewProviderRichAnno.cpp ViewProviderRichAnno.h ViewProviderTile.cpp ViewProviderTile.h ViewProviderWeld.cpp ViewProviderWeld.h ViewProviderCosmeticExtension.cpp ViewProviderCosmeticExtension.h ) SET(TechDrawGuiTaskDlgs_SRCS TaskProjGroup.ui TaskLinkDim.ui TaskSectionView.ui TaskGeomHatch.ui TaskHatch.ui TaskLeaderLine.ui TaskRichAnno.ui TaskCosVertex.ui mrichtextedit.ui TaskBalloon.ui TaskCenterLine.ui TaskDimension.ui TaskLineDecor.ui TaskRestoreLines.ui TaskWeldingSymbol.ui TaskSurfaceFinishSymbols.ui SymbolChooser.ui TaskActiveView.ui TaskDetail.ui TaskCosmeticLine.ui TaskSelectLineAttributes.ui TaskCustomizeFormat.ui TaskMoveView.ui TaskProjection.ui TaskComplexSection.ui TaskDimRepair.ui ) SOURCE_GROUP("MRTE" FILES ${MRTE_SRCS}) SOURCE_GROUP("Mod" FILES ${TechDrawGui_SRCS}) SOURCE_GROUP("View" FILES ${TechDrawGuiView_SRCS}) SOURCE_GROUP("Nav" FILES ${TechDrawGuiNav_SRCS}) SOURCE_GROUP("ViewProvider" FILES ${TechDrawGuiViewProvider_SRCS}) SOURCE_GROUP("TaskDialogs" FILES ${TechDrawGuiTaskDlgs_SRCS}) SET(TechDrawGuiIcon_SVG Resources/icons/preferences-techdraw.svg ) ##install OSIFONT SET(TechDrawGuiFonts Resources/fonts/osifont-lgpl3fe.ttf Resources/fonts/osifont-italic.ttf Resources/fonts/osifont.license Resources/fonts/Y14.5-2018.ttf Resources/fonts/Y14.5Font.license Resources/fonts/Y14.5-FreeCAD.ttf ) add_library(TechDrawGui SHARED ${TechDrawGui_SRCS} ${TechDrawGuiView_SRCS} ${TechDrawGuiViewProvider_SRCS} ${TechDrawGuiNav_SRCS} ${TechDrawGuiIcon_SVG} ${TechDrawGuiFonts} ${MRTE_SRCS} ) if(FREECAD_USE_PCH) target_precompile_headers(TechDrawGui PRIVATE $<$:"${CMAKE_CURRENT_LIST_DIR}/PreCompiled.h"> ) endif(FREECAD_USE_PCH) target_include_directories( TechDrawGui PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ) target_link_libraries(TechDrawGui ${TechDrawGui_LIBS}) if (MSVC) target_compile_definitions(TechDrawGui PRIVATE WIN32_LEAN_AND_MEAN) endif() if (FREECAD_WARN_ERROR) target_compile_warn_error(TechDrawGui) endif() fc_copy_sources(TechDrawGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/" ${TechDrawGuiIcon_SVG}) INSTALL(FILES ${TechDrawGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/Resources/icons") fc_copy_sources(TechDrawGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/TechDraw" ${TechDrawGuiFonts}) INSTALL(FILES ${TechDrawGuiFonts} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/Resources/fonts") SET_BIN_DIR(TechDrawGui TechDrawGui /Mod/TechDraw) SET_PYTHON_PREFIX_SUFFIX(TechDrawGui) INSTALL(TARGETS TechDrawGui DESTINATION ${CMAKE_INSTALL_LIBDIR})