Warning, /education/labplot/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 find_package(SharedMimeInfo REQUIRED)
0002 set(KDE_FRONTEND true)
0003 set(KDEFRONTEND_DIR kdefrontend)
0004 set(BACKEND_DIR backend)
0005 set(COMMONFRONTEND_DIR commonfrontend)
0006 set(CANTOR_DIR cantor)
0007 set(TOOLS_DIR tools)
0008 set(CMAKE_AUTOMOC ON)
0009 set(SRC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
0010 
0011 # do not process this file
0012 set_property(SOURCE gsl_parser.h PROPERTY SKIP_AUTOMOC ON)
0013 
0014 set(GUI_SOURCES
0015     ${KDEFRONTEND_DIR}/DatasetModel.cpp
0016         ${KDEFRONTEND_DIR}/GuiObserver.cpp
0017         ${KDEFRONTEND_DIR}/GuiTools.cpp
0018         ${KDEFRONTEND_DIR}/HistoryDialog.cpp
0019         ${KDEFRONTEND_DIR}/MainWin.cpp
0020         ${KDEFRONTEND_DIR}/SettingsDialog.cpp
0021         ${KDEFRONTEND_DIR}/SettingsGeneralPage.cpp
0022         ${KDEFRONTEND_DIR}/SettingsSpreadsheetPage.cpp
0023         ${KDEFRONTEND_DIR}/SettingsWorksheetPage.cpp
0024 #       ${KDEFRONTEND_DIR}/SettingsWelcomePage.cpp
0025         ${KDEFRONTEND_DIR}/SettingsDatasetsPage.cpp
0026         ${KDEFRONTEND_DIR}/SettingsPage.h
0027         ${KDEFRONTEND_DIR}/TemplateHandler.cpp
0028         ${KDEFRONTEND_DIR}/ThemeHandler.cpp
0029 #       ${KDEFRONTEND_DIR}/welcomescreen/WelcomeScreenHelper.cpp
0030         ${KDEFRONTEND_DIR}/datasources/AsciiOptionsWidget.cpp
0031         ${KDEFRONTEND_DIR}/datasources/BinaryOptionsWidget.cpp
0032         ${KDEFRONTEND_DIR}/datasources/DatabaseManagerDialog.cpp
0033         ${KDEFRONTEND_DIR}/datasources/DatabaseManagerWidget.cpp
0034         ${KDEFRONTEND_DIR}/datasources/DatasetMetadataManagerDialog.cpp
0035         ${KDEFRONTEND_DIR}/datasources/DatasetMetadataManagerWidget.cpp
0036         ${KDEFRONTEND_DIR}/datasources/HDF5OptionsWidget.cpp
0037         ${KDEFRONTEND_DIR}/datasources/FileInfoDialog.cpp
0038         ${KDEFRONTEND_DIR}/datasources/ImageOptionsWidget.cpp
0039         ${KDEFRONTEND_DIR}/datasources/ImportDatasetWidget.cpp
0040         ${KDEFRONTEND_DIR}/datasources/ImportDatasetDialog.cpp
0041         ${KDEFRONTEND_DIR}/datasources/ImportDialog.cpp
0042         ${KDEFRONTEND_DIR}/datasources/ImportFileWidget.cpp
0043         ${KDEFRONTEND_DIR}/datasources/ImportFileDialog.cpp
0044         ${KDEFRONTEND_DIR}/datasources/ImportProjectDialog.cpp
0045         ${KDEFRONTEND_DIR}/datasources/ImportSQLDatabaseDialog.cpp
0046         ${KDEFRONTEND_DIR}/datasources/ImportSQLDatabaseWidget.cpp
0047         ${KDEFRONTEND_DIR}/datasources/NetCDFOptionsWidget.cpp
0048         ${KDEFRONTEND_DIR}/datasources/ROOTOptionsWidget.cpp
0049         ${KDEFRONTEND_DIR}/datasources/FITSOptionsWidget.cpp
0050         ${KDEFRONTEND_DIR}/datasources/JsonOptionsWidget.cpp
0051         ${KDEFRONTEND_DIR}/dockwidgets/BaseDock.cpp
0052         ${KDEFRONTEND_DIR}/dockwidgets/AxisDock.cpp
0053         ${KDEFRONTEND_DIR}/dockwidgets/CursorDock.cpp
0054         ${KDEFRONTEND_DIR}/dockwidgets/ImageDock.cpp
0055         ${KDEFRONTEND_DIR}/dockwidgets/NoteDock.cpp
0056         ${KDEFRONTEND_DIR}/dockwidgets/CartesianPlotDock.cpp
0057         ${KDEFRONTEND_DIR}/dockwidgets/CartesianPlotLegendDock.cpp
0058         ${KDEFRONTEND_DIR}/dockwidgets/HistogramDock.cpp
0059         ${KDEFRONTEND_DIR}/dockwidgets/CustomPointDock.cpp
0060         ${KDEFRONTEND_DIR}/dockwidgets/ColumnDock.cpp
0061         ${KDEFRONTEND_DIR}/dockwidgets/LiveDataDock.cpp
0062         ${KDEFRONTEND_DIR}/dockwidgets/MatrixDock.cpp
0063         ${KDEFRONTEND_DIR}/dockwidgets/ProjectDock.cpp
0064         ${KDEFRONTEND_DIR}/dockwidgets/ReferenceLineDock.cpp
0065         ${KDEFRONTEND_DIR}/dockwidgets/SpreadsheetDock.cpp
0066         ${KDEFRONTEND_DIR}/dockwidgets/XYCurveDock.cpp
0067         ${KDEFRONTEND_DIR}/dockwidgets/XYEquationCurveDock.cpp
0068         ${KDEFRONTEND_DIR}/dockwidgets/XYDataReductionCurveDock.cpp
0069         ${KDEFRONTEND_DIR}/dockwidgets/XYDifferentiationCurveDock.cpp
0070         ${KDEFRONTEND_DIR}/dockwidgets/XYIntegrationCurveDock.cpp
0071         ${KDEFRONTEND_DIR}/dockwidgets/XYInterpolationCurveDock.cpp
0072         ${KDEFRONTEND_DIR}/dockwidgets/XYSmoothCurveDock.cpp
0073         ${KDEFRONTEND_DIR}/dockwidgets/XYFitCurveDock.cpp
0074         ${KDEFRONTEND_DIR}/dockwidgets/XYFourierFilterCurveDock.cpp
0075         ${KDEFRONTEND_DIR}/dockwidgets/XYFourierTransformCurveDock.cpp
0076         ${KDEFRONTEND_DIR}/dockwidgets/XYConvolutionCurveDock.cpp
0077         ${KDEFRONTEND_DIR}/dockwidgets/XYCorrelationCurveDock.cpp
0078         ${KDEFRONTEND_DIR}/dockwidgets/WorksheetDock.cpp
0079         ${KDEFRONTEND_DIR}/matrix/MatrixFunctionDialog.cpp
0080         ${KDEFRONTEND_DIR}/spreadsheet/PlotDataDialog.cpp
0081         ${KDEFRONTEND_DIR}/spreadsheet/EquidistantValuesDialog.cpp
0082         ${KDEFRONTEND_DIR}/spreadsheet/ExportSpreadsheetDialog.cpp
0083         ${KDEFRONTEND_DIR}/spreadsheet/AddSubtractValueDialog.cpp
0084         ${KDEFRONTEND_DIR}/spreadsheet/DropValuesDialog.cpp
0085         ${KDEFRONTEND_DIR}/spreadsheet/GoToDialog.cpp
0086         ${KDEFRONTEND_DIR}/spreadsheet/FunctionValuesDialog.cpp
0087         ${KDEFRONTEND_DIR}/spreadsheet/RandomValuesDialog.cpp
0088         ${KDEFRONTEND_DIR}/spreadsheet/RescaleDialog.cpp
0089         ${KDEFRONTEND_DIR}/spreadsheet/SortDialog.cpp
0090         ${KDEFRONTEND_DIR}/spreadsheet/StatisticsDialog.cpp
0091         ${KDEFRONTEND_DIR}/worksheet/ExportWorksheetDialog.cpp
0092         ${KDEFRONTEND_DIR}/worksheet/GridDialog.cpp
0093         ${KDEFRONTEND_DIR}/worksheet/DynamicPresenterWidget.cpp
0094         ${KDEFRONTEND_DIR}/worksheet/PresenterWidget.cpp
0095         ${KDEFRONTEND_DIR}/worksheet/SlidingPanel.cpp
0096         ${KDEFRONTEND_DIR}/widgets/ConstantsWidget.cpp
0097         ${KDEFRONTEND_DIR}/widgets/ThemesComboBox.cpp
0098         ${KDEFRONTEND_DIR}/widgets/ThemesWidget.cpp
0099         ${KDEFRONTEND_DIR}/widgets/ExpressionTextEdit.cpp
0100         ${KDEFRONTEND_DIR}/widgets/FitOptionsWidget.cpp
0101         ${KDEFRONTEND_DIR}/widgets/FitParametersWidget.cpp
0102         ${KDEFRONTEND_DIR}/widgets/FunctionsWidget.cpp
0103         ${KDEFRONTEND_DIR}/widgets/LabelWidget.cpp
0104         ${KDEFRONTEND_DIR}/widgets/DatapickerImageWidget.cpp
0105         ${KDEFRONTEND_DIR}/widgets/DatapickerCurveWidget.cpp
0106         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditWidget.cpp
0107         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditNewKeywordDialog.cpp
0108         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditAddUnitDialog.cpp
0109         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditDialog.cpp
0110         ${KDEFRONTEND_DIR}/widgets/ResizableTextEdit.cpp
0111 )
0112 
0113 if (Qt5Mqtt_FOUND)
0114         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTConnectionManagerWidget.cpp)
0115         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTConnectionManagerDialog.cpp)
0116         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTErrorWidget.cpp)
0117         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTSubscriptionWidget.cpp)
0118         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/widgets/MQTTWillSettingsWidget.cpp)
0119 endif()
0120 
0121 if(APPLE)
0122   list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/worksheet/PresenterWidget_mac.mm)
0123   list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/worksheet/DynamicPresenterWidget_mac.mm)
0124 endif()
0125 
0126 
0127 set(UI_SOURCES
0128         ${KDEFRONTEND_DIR}/ui/constantswidget.ui
0129         ${KDEFRONTEND_DIR}/ui/functionswidget.ui
0130         ${KDEFRONTEND_DIR}/ui/fitoptionswidget.ui
0131         ${KDEFRONTEND_DIR}/ui/fitparameterswidget.ui
0132         ${KDEFRONTEND_DIR}/ui/labelwidget.ui
0133         ${KDEFRONTEND_DIR}/ui/settingsgeneralpage.ui
0134         ${KDEFRONTEND_DIR}/ui/settingsspreadsheetpage.ui
0135         ${KDEFRONTEND_DIR}/ui/settingsworksheetpage.ui
0136 #       ${KDEFRONTEND_DIR}/ui/settingswelcomepage.ui
0137         ${KDEFRONTEND_DIR}/ui/settingsdatasetspage.ui
0138         ${KDEFRONTEND_DIR}/ui/settingsprintingpage.ui
0139         ${KDEFRONTEND_DIR}/ui/datasources/asciioptionswidget.ui
0140         ${KDEFRONTEND_DIR}/ui/datasources/binaryoptionswidget.ui
0141         ${KDEFRONTEND_DIR}/ui/datasources/databasemanagerwidget.ui
0142         ${KDEFRONTEND_DIR}/ui/datasources/datasetmetadatamanagerwidget.ui
0143         ${KDEFRONTEND_DIR}/ui/datasources/hdf5optionswidget.ui
0144         ${KDEFRONTEND_DIR}/ui/datasources/imageoptionswidget.ui
0145         ${KDEFRONTEND_DIR}/ui/datasources/importdatasetwidget.ui
0146         ${KDEFRONTEND_DIR}/ui/datasources/importfilewidget.ui
0147         ${KDEFRONTEND_DIR}/ui/datasources/importprojectwidget.ui
0148         ${KDEFRONTEND_DIR}/ui/datasources/importsqldatabasewidget.ui
0149         ${KDEFRONTEND_DIR}/ui/datasources/netcdfoptionswidget.ui
0150         ${KDEFRONTEND_DIR}/ui/datasources/rootoptionswidget.ui
0151         ${KDEFRONTEND_DIR}/ui/datasources/fitsoptionswidget.ui
0152         ${KDEFRONTEND_DIR}/ui/datasources/jsonoptionswidget.ui
0153         ${KDEFRONTEND_DIR}/ui/dockwidgets/axisdock.ui
0154         ${KDEFRONTEND_DIR}/ui/dockwidgets/cursordock.ui
0155         ${KDEFRONTEND_DIR}/ui/dockwidgets/cartesianplotdock.ui
0156         ${KDEFRONTEND_DIR}/ui/dockwidgets/cartesianplotlegenddock.ui
0157         ${KDEFRONTEND_DIR}/ui/dockwidgets/histogramdock.ui
0158         ${KDEFRONTEND_DIR}/ui/dockwidgets/columndock.ui
0159         ${KDEFRONTEND_DIR}/ui/dockwidgets/custompointdock.ui
0160         ${KDEFRONTEND_DIR}/ui/dockwidgets/imagedock.ui
0161         ${KDEFRONTEND_DIR}/ui/dockwidgets/livedatadock.ui
0162         ${KDEFRONTEND_DIR}/ui/dockwidgets/notedock.ui
0163         ${KDEFRONTEND_DIR}/ui/dockwidgets/matrixdock.ui
0164         ${KDEFRONTEND_DIR}/ui/dockwidgets/projectdock.ui
0165         ${KDEFRONTEND_DIR}/ui/dockwidgets/referencelinedock.ui
0166         ${KDEFRONTEND_DIR}/ui/dockwidgets/spreadsheetdock.ui
0167         ${KDEFRONTEND_DIR}/ui/dockwidgets/xycurvedock.ui
0168         ${KDEFRONTEND_DIR}/ui/dockwidgets/xycurvedockgeneraltab.ui
0169         ${KDEFRONTEND_DIR}/ui/dockwidgets/xydatareductioncurvedockgeneraltab.ui
0170         ${KDEFRONTEND_DIR}/ui/dockwidgets/xydifferentiationcurvedockgeneraltab.ui
0171         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyintegrationcurvedockgeneraltab.ui
0172         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyinterpolationcurvedockgeneraltab.ui
0173         ${KDEFRONTEND_DIR}/ui/dockwidgets/xysmoothcurvedockgeneraltab.ui
0174         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyfitcurvedockgeneraltab.ui
0175         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyfourierfiltercurvedockgeneraltab.ui
0176         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyfouriertransformcurvedockgeneraltab.ui
0177         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyconvolutioncurvedockgeneraltab.ui
0178         ${KDEFRONTEND_DIR}/ui/dockwidgets/xycorrelationcurvedockgeneraltab.ui
0179         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyequationcurvedockgeneraltab.ui
0180         ${KDEFRONTEND_DIR}/ui/dockwidgets/worksheetdock.ui
0181         ${KDEFRONTEND_DIR}/ui/matrix/matrixfunctionwidget.ui
0182         ${KDEFRONTEND_DIR}/ui/spreadsheet/plotdatawidget.ui
0183         ${KDEFRONTEND_DIR}/ui/spreadsheet/equidistantvalueswidget.ui
0184         ${KDEFRONTEND_DIR}/ui/spreadsheet/exportspreadsheetwidget.ui
0185         ${KDEFRONTEND_DIR}/ui/spreadsheet/addsubtractvaluewidget.ui
0186         ${KDEFRONTEND_DIR}/ui/spreadsheet/dropvalueswidget.ui
0187         ${KDEFRONTEND_DIR}/ui/spreadsheet/functionvalueswidget.ui
0188         ${KDEFRONTEND_DIR}/ui/spreadsheet/randomvalueswidget.ui
0189         ${KDEFRONTEND_DIR}/ui/spreadsheet/rescalewidget.ui
0190         ${KDEFRONTEND_DIR}/ui/spreadsheet/sortdialogwidget.ui
0191         ${KDEFRONTEND_DIR}/ui/worksheet/exportworksheetwidget.ui
0192         ${KDEFRONTEND_DIR}/ui/datapickerimagewidget.ui
0193         ${KDEFRONTEND_DIR}/ui/datapickercurvewidget.ui
0194         ${KDEFRONTEND_DIR}/ui/fitsheadereditwidget.ui
0195         ${KDEFRONTEND_DIR}/ui/fitsheadereditnewkeywordwidget.ui
0196         ${KDEFRONTEND_DIR}/ui/fitsheadereditaddunitwidget.ui
0197 )
0198 
0199 if (Qt5Mqtt_FOUND)
0200         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/datasources/mqttconnectionmanagerwidget.ui)
0201         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/datasources/mqtterrorwidget.ui)
0202         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/datasources/mqttsubscriptionwidget.ui)
0203         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/mqttwillsettingswidget.ui)
0204 endif()
0205 
0206 set(BACKEND_SOURCES
0207         ${BACKEND_DIR}/core/Folder.cpp
0208         ${BACKEND_DIR}/core/AbstractAspect.cpp
0209         ${BACKEND_DIR}/core/AbstractColumn.cpp
0210         ${BACKEND_DIR}/core/AbstractColumnPrivate.cpp
0211         ${BACKEND_DIR}/core/abstractcolumncommands.cpp
0212         ${BACKEND_DIR}/core/AbstractFilter.cpp
0213         ${BACKEND_DIR}/core/AbstractSimpleFilter.cpp
0214         ${BACKEND_DIR}/core/column/Column.cpp
0215         ${BACKEND_DIR}/core/column/ColumnPrivate.cpp
0216         ${BACKEND_DIR}/core/column/ColumnStringIO.cpp
0217         ${BACKEND_DIR}/core/column/columncommands.cpp
0218         ${BACKEND_DIR}/core/Project.cpp
0219         ${BACKEND_DIR}/core/AbstractPart.cpp
0220         ${BACKEND_DIR}/core/Workbook.cpp
0221         ${BACKEND_DIR}/core/AspectTreeModel.cpp
0222         ${BACKEND_DIR}/core/datatypes/SimpleCopyThroughFilter.h
0223         ${BACKEND_DIR}/core/datatypes/Double2DateTimeFilter.h
0224         ${BACKEND_DIR}/core/datatypes/Double2DayOfWeekFilter.h
0225         ${BACKEND_DIR}/core/datatypes/Double2IntegerFilter.h
0226         ${BACKEND_DIR}/core/datatypes/Double2BigIntFilter.h
0227         ${BACKEND_DIR}/core/datatypes/Double2MonthFilter.h
0228         ${BACKEND_DIR}/core/datatypes/Double2StringFilter.cpp
0229         ${BACKEND_DIR}/core/datatypes/Integer2DoubleFilter.h
0230         ${BACKEND_DIR}/core/datatypes/Integer2BigIntFilter.h
0231         ${BACKEND_DIR}/core/datatypes/Integer2DateTimeFilter.h
0232         ${BACKEND_DIR}/core/datatypes/Integer2DayOfWeekFilter.h
0233         ${BACKEND_DIR}/core/datatypes/Integer2MonthFilter.h
0234         ${BACKEND_DIR}/core/datatypes/Integer2StringFilter.h
0235         ${BACKEND_DIR}/core/datatypes/BigInt2DoubleFilter.h
0236         ${BACKEND_DIR}/core/datatypes/BigInt2IntegerFilter.h
0237         ${BACKEND_DIR}/core/datatypes/BigInt2StringFilter.h
0238         ${BACKEND_DIR}/core/datatypes/BigInt2DateTimeFilter.h
0239         ${BACKEND_DIR}/core/datatypes/BigInt2MonthFilter.h
0240         ${BACKEND_DIR}/core/datatypes/BigInt2DayOfWeekFilter.h
0241         ${BACKEND_DIR}/core/datatypes/String2DayOfWeekFilter.h
0242         ${BACKEND_DIR}/core/datatypes/String2DoubleFilter.h
0243         ${BACKEND_DIR}/core/datatypes/String2IntegerFilter.h
0244         ${BACKEND_DIR}/core/datatypes/String2BigIntFilter.h
0245         ${BACKEND_DIR}/core/datatypes/String2MonthFilter.h
0246         ${BACKEND_DIR}/core/datatypes/String2DateTimeFilter.cpp
0247         ${BACKEND_DIR}/core/datatypes/DateTime2DoubleFilter.h
0248         ${BACKEND_DIR}/core/datatypes/DateTime2IntegerFilter.h
0249         ${BACKEND_DIR}/core/datatypes/DateTime2BigIntFilter.h
0250         ${BACKEND_DIR}/core/datatypes/DateTime2StringFilter.cpp
0251         ${BACKEND_DIR}/core/datatypes/Month2DoubleFilter.h
0252         ${BACKEND_DIR}/core/datatypes/Month2IntegerFilter.h
0253         ${BACKEND_DIR}/core/datatypes/Month2BigIntFilter.h
0254         ${BACKEND_DIR}/core/datatypes/DayOfWeek2DoubleFilter.h
0255         ${BACKEND_DIR}/core/datatypes/DayOfWeek2IntegerFilter.h
0256         ${BACKEND_DIR}/core/datatypes/DayOfWeek2BigIntFilter.h
0257         ${BACKEND_DIR}/core/plugin/PluginLoader.cpp
0258         ${BACKEND_DIR}/core/plugin/PluginManager.cpp
0259         ${BACKEND_DIR}/datasources/AbstractDataSource.cpp
0260         ${BACKEND_DIR}/datasources/DatasetHandler.cpp
0261         ${BACKEND_DIR}/datasources/LiveDataSource.cpp
0262         ${BACKEND_DIR}/datasources/filters/AbstractFileFilter.cpp
0263         ${BACKEND_DIR}/datasources/filters/AsciiFilter.cpp
0264         ${BACKEND_DIR}/datasources/filters/BinaryFilter.cpp
0265         ${BACKEND_DIR}/datasources/filters/HDF5Filter.cpp
0266         ${BACKEND_DIR}/datasources/filters/ImageFilter.cpp
0267         ${BACKEND_DIR}/datasources/filters/JsonFilter.cpp
0268         ${BACKEND_DIR}/datasources/filters/NetCDFFilter.cpp
0269         ${BACKEND_DIR}/datasources/filters/NgspiceRawAsciiFilter.cpp
0270         ${BACKEND_DIR}/datasources/filters/NgspiceRawBinaryFilter.cpp
0271         ${BACKEND_DIR}/datasources/filters/FITSFilter.cpp
0272         ${BACKEND_DIR}/datasources/filters/QJsonModel.cpp
0273         ${BACKEND_DIR}/datasources/filters/ROOTFilter.cpp
0274         ${BACKEND_DIR}/datasources/projects/ProjectParser.cpp
0275         ${BACKEND_DIR}/datasources/projects/LabPlotProjectParser.cpp
0276         ${BACKEND_DIR}/gsl/ExpressionParser.cpp
0277         ${BACKEND_DIR}/matrix/Matrix.cpp
0278         ${BACKEND_DIR}/matrix/matrixcommands.cpp
0279         ${BACKEND_DIR}/matrix/MatrixModel.cpp
0280         ${BACKEND_DIR}/spreadsheet/Spreadsheet.cpp
0281         ${BACKEND_DIR}/spreadsheet/SpreadsheetModel.cpp
0282         ${BACKEND_DIR}/lib/XmlStreamReader.cpp
0283         ${BACKEND_DIR}/note/Note.cpp
0284         ${BACKEND_DIR}/worksheet/Image.cpp
0285         ${BACKEND_DIR}/worksheet/WorksheetElement.cpp
0286         ${BACKEND_DIR}/worksheet/TextLabel.cpp
0287         ${BACKEND_DIR}/worksheet/Worksheet.cpp
0288         ${BACKEND_DIR}/worksheet/WorksheetElementContainer.cpp
0289         ${BACKEND_DIR}/worksheet/WorksheetElementGroup.cpp
0290         ${BACKEND_DIR}/worksheet/TreeModel.cpp
0291         ${BACKEND_DIR}/worksheet/plots/AbstractPlot.cpp
0292         ${BACKEND_DIR}/worksheet/plots/AbstractCoordinateSystem.cpp
0293         ${BACKEND_DIR}/worksheet/plots/PlotArea.cpp
0294         ${BACKEND_DIR}/worksheet/plots/cartesian/Axis.cpp
0295         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianCoordinateSystem.cpp
0296         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianPlot.cpp
0297         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianPlotLegend.cpp
0298         ${BACKEND_DIR}/worksheet/plots/cartesian/Curve.cpp
0299         ${BACKEND_DIR}/worksheet/plots/cartesian/Histogram.cpp
0300         ${BACKEND_DIR}/worksheet/plots/cartesian/CustomPoint.cpp
0301         ${BACKEND_DIR}/worksheet/plots/cartesian/ReferenceLine.cpp
0302         ${BACKEND_DIR}/worksheet/plots/cartesian/Symbol.cpp
0303         ${BACKEND_DIR}/worksheet/plots/cartesian/XYAnalysisCurve.cpp
0304         ${BACKEND_DIR}/worksheet/plots/cartesian/XYCurve.cpp
0305         ${BACKEND_DIR}/worksheet/plots/cartesian/XYEquationCurve.cpp
0306         ${BACKEND_DIR}/worksheet/plots/cartesian/XYDataReductionCurve.cpp
0307         ${BACKEND_DIR}/worksheet/plots/cartesian/XYDifferentiationCurve.cpp
0308         ${BACKEND_DIR}/worksheet/plots/cartesian/XYIntegrationCurve.cpp
0309         ${BACKEND_DIR}/worksheet/plots/cartesian/XYInterpolationCurve.cpp
0310         ${BACKEND_DIR}/worksheet/plots/cartesian/XYSmoothCurve.cpp
0311         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFitCurve.cpp
0312         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFourierFilterCurve.cpp
0313         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFourierTransformCurve.cpp
0314         ${BACKEND_DIR}/worksheet/plots/cartesian/XYConvolutionCurve.cpp
0315         ${BACKEND_DIR}/worksheet/plots/cartesian/XYCorrelationCurve.cpp
0316         ${BACKEND_DIR}/lib/SignallingUndoCommand.cpp
0317         ${BACKEND_DIR}/datapicker/DatapickerPoint.cpp
0318         ${BACKEND_DIR}/datapicker/DatapickerImage.cpp
0319         ${BACKEND_DIR}/datapicker/Datapicker.cpp
0320         ${BACKEND_DIR}/datapicker/Transform.cpp
0321         ${BACKEND_DIR}/datapicker/ImageEditor.cpp
0322         ${BACKEND_DIR}/datapicker/Segment.cpp
0323         ${BACKEND_DIR}/datapicker/Segments.cpp
0324         ${BACKEND_DIR}/datapicker/DatapickerCurve.cpp
0325 )
0326 
0327 if (Qt5Mqtt_FOUND)
0328         list(APPEND BACKEND_SOURCES ${KDEFRONTEND_DIR}/widgets/MQTTWillSettingsWidget.cpp)
0329         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/MQTTClient.cpp)
0330         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/MQTTSubscription.cpp)
0331         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/MQTTTopic.cpp)
0332 endif()
0333 
0334 # add the qml.qrc file
0335 # qt5_add_resources(qml_QRC ${KDEFRONTEND_DIR}/welcomescreen/qml.qrc)
0336 # better: enable AUTORCC
0337 
0338 IF (ENABLE_LIBORIGIN)
0339         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/projects/OriginProjectParser.cpp)
0340 ENDIF ()
0341 
0342 set(NSL_SOURCES
0343         ${BACKEND_DIR}/nsl/nsl_conv.c
0344         ${BACKEND_DIR}/nsl/nsl_corr.c
0345         ${BACKEND_DIR}/nsl/nsl_dft.c
0346         ${BACKEND_DIR}/nsl/nsl_diff.c
0347         ${BACKEND_DIR}/nsl/nsl_filter.c
0348         ${BACKEND_DIR}/nsl/nsl_fit.c
0349         ${BACKEND_DIR}/nsl/nsl_geom.c
0350         ${BACKEND_DIR}/nsl/nsl_geom_linesim.c
0351         ${BACKEND_DIR}/nsl/nsl_int.c
0352         ${BACKEND_DIR}/nsl/nsl_interp.c
0353         ${BACKEND_DIR}/nsl/nsl_math.c
0354         ${BACKEND_DIR}/nsl/nsl_sf_basic.c
0355         ${BACKEND_DIR}/nsl/nsl_sf_kernel.c
0356         ${BACKEND_DIR}/nsl/nsl_sf_poly.c
0357         ${BACKEND_DIR}/nsl/nsl_sf_stats.c
0358         ${BACKEND_DIR}/nsl/nsl_sf_window.c
0359         ${BACKEND_DIR}/nsl/nsl_smooth.c
0360         ${BACKEND_DIR}/nsl/nsl_sort.c
0361         ${BACKEND_DIR}/nsl/nsl_stats.c
0362 )
0363 
0364 IF (NOT MSVC_FOUND)
0365 IF (NOT LIBCERF_FOUND)
0366         list(APPEND NSL_SOURCES
0367                 ${BACKEND_DIR}/nsl/Faddeeva.c
0368         )
0369 ENDIF ()
0370 ENDIF ()
0371 
0372 set(COMMONFRONTEND_SOURCES
0373         ${COMMONFRONTEND_DIR}/matrix/MatrixView.cpp
0374         ${COMMONFRONTEND_DIR}/note/NoteView.cpp
0375         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetCommentsHeaderModel.cpp
0376         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetHeaderView.cpp
0377         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetItemDelegate.cpp
0378         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetView.cpp
0379         ${COMMONFRONTEND_DIR}/workbook/WorkbookView.cpp
0380         ${COMMONFRONTEND_DIR}/worksheet/WorksheetView.cpp
0381         ${COMMONFRONTEND_DIR}/ProjectExplorer.cpp
0382         ${COMMONFRONTEND_DIR}/core/PartMdiView.cpp
0383         ${COMMONFRONTEND_DIR}/widgets/TreeViewComboBox.cpp
0384         ${COMMONFRONTEND_DIR}/widgets/qxtspanslider.cpp
0385         ${COMMONFRONTEND_DIR}/widgets/MemoryWidget.cpp
0386         ${COMMONFRONTEND_DIR}/widgets/DateTimeSpinBox.cpp
0387         ${COMMONFRONTEND_DIR}/datapicker/DatapickerView.cpp
0388         ${COMMONFRONTEND_DIR}/datapicker/DatapickerImageView.cpp
0389 )
0390 
0391 IF (RECENT_CANTOR)
0392         set(CANTOR_SOURCES
0393                 ${KDEFRONTEND_DIR}/dockwidgets/CantorWorksheetDock.cpp
0394                 ${BACKEND_DIR}/cantorWorksheet/VariableParser.cpp
0395                 ${BACKEND_DIR}/cantorWorksheet/CantorWorksheet.cpp
0396                 ${COMMONFRONTEND_DIR}/cantorWorksheet/CantorWorksheetView.cpp
0397         )
0398         set(CANTOR_UI_SOURCES ${KDEFRONTEND_DIR}/ui/dockwidgets/cantorworksheetdock.ui)
0399         set(UI_SOURCES ${UI_SOURCES} ${CANTOR_UI_SOURCES})
0400 ELSE ()
0401         set(CANTOR_SOURCES "")
0402 ENDIF ()
0403 
0404 set(TOOLS_SOURCES
0405         ${TOOLS_DIR}/EquationHighlighter.cpp
0406         ${TOOLS_DIR}/ImageTools.cpp
0407         ${TOOLS_DIR}/TeXRenderer.cpp
0408 )
0409 
0410 bison_target(GslParser
0411         ${BACKEND_DIR}/gsl/parser.y
0412         ${CMAKE_CURRENT_BINARY_DIR}/gsl_parser.c
0413 )
0414 set(GENERATED_SOURCES
0415         ${BISON_GslParser_OUTPUTS}
0416 )
0417 
0418 ##############################################################################
0419 INCLUDE_DIRECTORIES( . ${BACKEND_DIR}/gsl ${GSL_INCLUDE_DIR} )
0420 set( LABPLOT_SRCS ${GUI_SOURCES} )
0421 ki18n_wrap_ui( LABPLOT_SRCS ${UI_SOURCES} )
0422 # see also QT_MINIMUM_VERSION
0423 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x50500)
0424 
0425 # static library
0426 add_library( labplot2lib STATIC ${LABPLOT_SRCS} ${BACKEND_SOURCES} ${NSL_SOURCES} ${CANTOR_SOURCES} ${DATASOURCES_SOURCES} ${COMMONFRONTEND_SOURCES} ${TOOLS_SOURCES} ${GENERATED_SOURCES} ${QTMOC_HDRS} )
0427 # set_property(TARGET ${objlib} PROPERTY POSITION_INDEPENDENT_CODE 1)
0428 
0429 target_link_libraries( labplot2lib
0430         KF5::Archive
0431         KF5::Completion
0432         KF5::ConfigCore
0433         KF5::Crash
0434         KF5::I18n
0435         KF5::IconThemes
0436         KF5::KIOCore
0437         KF5::KIOFileWidgets
0438         KF5::KIOWidgets
0439         KF5::TextWidgets
0440         KF5::XmlGui
0441         KF5::NewStuff
0442         KF5::NewStuffCore
0443         Qt5::Svg
0444         Qt5::Core
0445         Qt5::Network
0446         Qt5::PrintSupport
0447         Qt5::Sql
0448 #       Qt5::Qml
0449 #       Qt5::Quick
0450 #       Qt5::QuickWidgets
0451         ${GSL_LIBRARIES}
0452         ${GSL_CBLAS_LIBRARIES} )
0453 
0454 IF (Qt5SerialPort_FOUND)
0455         target_link_libraries( labplot2lib Qt5::SerialPort )
0456 ENDIF ()
0457 IF (Qt5Mqtt_FOUND)
0458         target_link_libraries( labplot2lib Qt5::Mqtt )
0459 ENDIF ()
0460 IF (KF5SyntaxHighlighting_FOUND)
0461         target_link_libraries( labplot2lib KF5::SyntaxHighlighting )
0462 ENDIF ()
0463 if (KUserFeedback_FOUND)
0464     target_link_libraries( labplot2lib KUserFeedbackWidgets )
0465 endif()
0466 #TODO: KF5::NewStuff
0467 
0468 IF (RECENT_CANTOR)
0469         # KF5::Service, KF5::Parts is optional but probably required by Cantor
0470         target_link_libraries( labplot2lib Cantor::cantorlibs KF5::Service KF5::Parts Poppler::Qt5 )
0471 ENDIF ()
0472 IF (HDF5_FOUND)
0473         target_link_libraries( labplot2lib ${HDF5_LIBRARIES} )
0474 ENDIF ()
0475 IF (FFTW3_FOUND)
0476         target_link_libraries( labplot2lib ${FFTW3_LIBRARIES} )
0477 ENDIF ()
0478 IF (netCDF_FOUND)
0479         target_link_libraries( labplot2lib ${netCDF_LIBRARIES} )
0480 ENDIF ()
0481 IF (CFITSIO_FOUND)
0482         target_link_libraries( labplot2lib ${CFITSIO_LIBRARIES} )
0483 ENDIF ()
0484 IF (LIBCERF_FOUND)
0485         target_link_libraries( labplot2lib ${LIBCERF_LIBRARY} )
0486 ENDIF ()
0487 IF (ZLIB_FOUND AND LZ4_FOUND)
0488         target_link_libraries( labplot2lib ${ZLIB_LIBRARY} ${LZ4_LIBRARY} )
0489 ENDIF ()
0490 # TODO: disabled on Windows until tested
0491 IF (ENABLE_READSTAT AND NOT WIN32)
0492         target_link_libraries( labplot2lib ${READSTAT_LIBRARY} )
0493 ENDIF ()
0494 IF (ENABLE_LIBORIGIN)
0495         target_link_libraries( labplot2lib liborigin-static )
0496 ENDIF ()
0497 IF (WIN32)
0498         target_link_libraries( labplot2lib ${PSAPI} )
0499 ENDIF ()
0500 
0501 # icons for the executable and project files on Windows and Mac OS X
0502 
0503 set(LABPLOT_ICONS
0504     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/16-apps-labplot2.png
0505     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/32-apps-labplot2.png
0506     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/48-apps-labplot2.png
0507     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/64-apps-labplot2.png
0508     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/128-apps-labplot2.png
0509     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/256-apps-labplot2.png
0510     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/512-apps-labplot2.png
0511 )
0512 set(LML_ICONS
0513     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/16-application-x-labplot2.png
0514     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/32-application-x-labplot2.png
0515     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/48-application-x-labplot2.png
0516     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/64-application-x-labplot2.png
0517     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/128-application-x-labplot2.png
0518     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/256-application-x-labplot2.png
0519     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/512-application-x-labplot2.png
0520 )
0521 
0522 add_subdirectory(3rdparty)
0523 
0524 # main executable
0525 set(LABPLOT_SOURCE ${KDEFRONTEND_DIR}/LabPlot.cpp)
0526 
0527 # create icon files on WIN/MAC and add icons to the executable
0528 IF (${ECM_VERSION} VERSION_GREATER "5.48.0")
0529         # creates LABPLOT_ICONS.ico/LABPLOT_ICONS.icns
0530         ecm_add_app_icon(LABPLOT_SOURCE ICONS ${LABPLOT_ICONS} OUTFILE_BASENAME LABPLOT_ICONS)
0531 ELSE ()
0532         # creates LABPLOT_SOURCE.ico/LABPLOT_SOURCE.icns
0533         ecm_add_app_icon(LABPLOT_SOURCE ICONS ${LABPLOT_ICONS})
0534 ENDIF ()
0535 
0536 # create LML_ICONS.icns on MACOSX
0537 IF (APPLE AND ${ECM_VERSION} VERSION_GREATER "5.48.0")
0538         ecm_add_app_icon(LABPLOT_SOURCE ICONS ${LML_ICONS} OUTFILE_BASENAME LML_ICONS)
0539 ENDIF ()
0540 
0541 add_executable(labplot2 ${LABPLOT_SOURCE} ${qml_QRC})
0542 target_link_libraries(labplot2 labplot2lib)
0543 IF (APPLE)
0544         target_link_libraries(labplot2 KDMacTouchBar)
0545 ENDIF()
0546 
0547 ############## installation ################################
0548 install( TARGETS labplot2 DESTINATION ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} )
0549 install( FILES ${KDEFRONTEND_DIR}/labplot2ui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/${PROJECT_NAME} )
0550 install( FILES ${KDEFRONTEND_DIR}/splash.png ${KDEFRONTEND_DIR}/labplot2.ico ${CMAKE_CURRENT_SOURCE_DIR}/../icons/application-x-labplot2.ico DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME} )
0551 install( PROGRAMS org.kde.labplot2.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
0552 install( FILES labplot2.xml DESTINATION ${XDG_MIME_INSTALL_DIR} )
0553 # if (${ECM_VERSION} STRGREATER "5.58.0")
0554 #       install( FILES labplot2_themes.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
0555 #       install( FILES labplot2_datasets.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
0556 # else ()
0557 #       install( FILES labplot2_themes.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
0558 #       install( FILES labplot2_datasets.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
0559 # endif ()
0560 update_xdg_mimetypes( ${XDG_MIME_INSTALL_DIR} )