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

0001 
0002 find_package(SharedMimeInfo REQUIRED)
0003 set(KDE_FRONTEND true)
0004 set(KDEFRONTEND_DIR kdefrontend)
0005 set(BACKEND_DIR backend)
0006 set(COMMONFRONTEND_DIR commonfrontend)
0007 set(CANTOR_DIR cantor)
0008 set(TOOLS_DIR tools)
0009 set(CMAKE_AUTOMOC ON)
0010 set(SRC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
0011 
0012 find_package(qt${QT_VERSION_MAJOR}advanceddocking CONFIG)
0013 if (NOT qt${QT_VERSION_MAJOR}advanceddocking_FOUND)
0014     option(LOCAL_QT_ADVANCED_DOCK_DOWNLOAD "Use local build of qt advanced dock downloaded directly from the git repository" OFF)
0015     option(LOCAL_QT_ADVANCED_DOCK_COPY "Use local build of qt advanced dock copied into the Qt-Advanced-Docking-System subfolder" ON)
0016     if (TARGET Qt${QT_VERSION_MAJOR}::GuiPrivate)
0017         MESSAGE (STATUS "Building local version of Qt-Advanced-Docking-System.")
0018     else ()
0019         MESSAGE (FATAL_ERROR "Missing Qt${QT_VERSION_MAJOR}::GuiPrivate to build local version of Qt-Advanced-Docking-System.")
0020     endif ()
0021 endif ()
0022 
0023 set(GUI_SOURCES
0024         ${KDEFRONTEND_DIR}/DatasetModel.cpp
0025         ${KDEFRONTEND_DIR}/GuiObserver.cpp
0026         ${KDEFRONTEND_DIR}/PlotTemplateDialog.cpp
0027         ${KDEFRONTEND_DIR}/GuiTools.cpp
0028         ${KDEFRONTEND_DIR}/HistoryDialog.cpp
0029         ${KDEFRONTEND_DIR}/MainWin.cpp
0030         ${KDEFRONTEND_DIR}/SettingsDialog.cpp
0031         ${KDEFRONTEND_DIR}/SettingsGeneralPage.cpp
0032         ${KDEFRONTEND_DIR}/SettingsNotebookPage.cpp
0033         ${KDEFRONTEND_DIR}/SettingsSpreadsheetPage.cpp
0034         ${KDEFRONTEND_DIR}/SettingsWorksheetPage.cpp
0035 #       ${KDEFRONTEND_DIR}/SettingsWelcomePage.cpp
0036         ${KDEFRONTEND_DIR}/SettingsDatasetsPage.cpp
0037         ${KDEFRONTEND_DIR}/SettingsPage.h
0038         ${KDEFRONTEND_DIR}/TemplateHandler.cpp
0039         ${KDEFRONTEND_DIR}/ThemeHandler.cpp
0040         ${KDEFRONTEND_DIR}/examples/ExamplesDialog.cpp
0041         ${KDEFRONTEND_DIR}/examples/ExamplesManager.cpp
0042         ${KDEFRONTEND_DIR}/examples/ExamplesWidget.cpp
0043 #       ${KDEFRONTEND_DIR}/welcomescreen/WelcomeScreenHelper.cpp
0044         ${KDEFRONTEND_DIR}/colormaps/ColorMapsWidget.cpp
0045         ${KDEFRONTEND_DIR}/colormaps/ColorMapsDialog.cpp
0046         ${KDEFRONTEND_DIR}/datasources/AsciiOptionsWidget.cpp
0047         ${KDEFRONTEND_DIR}/datasources/CANOptionsWidget.cpp
0048         ${KDEFRONTEND_DIR}/datasources/BinaryOptionsWidget.cpp
0049         ${KDEFRONTEND_DIR}/datasources/DatabaseManagerDialog.cpp
0050         ${KDEFRONTEND_DIR}/datasources/DatabaseManagerWidget.cpp
0051         ${KDEFRONTEND_DIR}/datasources/DatasetMetadataManagerDialog.cpp
0052         ${KDEFRONTEND_DIR}/datasources/DatasetMetadataManagerWidget.cpp
0053         ${KDEFRONTEND_DIR}/datasources/OdsOptionsWidget.cpp
0054         ${KDEFRONTEND_DIR}/datasources/XLSXOptionsWidget.cpp
0055         ${KDEFRONTEND_DIR}/datasources/HDF5OptionsWidget.cpp
0056         ${KDEFRONTEND_DIR}/datasources/ImageOptionsWidget.cpp
0057         ${KDEFRONTEND_DIR}/datasources/ImportDatasetWidget.cpp
0058         ${KDEFRONTEND_DIR}/datasources/ImportDatasetDialog.cpp
0059         ${KDEFRONTEND_DIR}/datasources/ImportDialog.cpp
0060         ${KDEFRONTEND_DIR}/datasources/ImportErrorDialog.cpp
0061         ${KDEFRONTEND_DIR}/datasources/ImportFileWidget.cpp
0062         ${KDEFRONTEND_DIR}/datasources/ImportFileDialog.cpp
0063         ${KDEFRONTEND_DIR}/datasources/ImportProjectDialog.cpp
0064         ${KDEFRONTEND_DIR}/datasources/ImportSQLDatabaseDialog.cpp
0065         ${KDEFRONTEND_DIR}/datasources/ImportSQLDatabaseWidget.cpp
0066         ${KDEFRONTEND_DIR}/datasources/MatioOptionsWidget.cpp
0067         ${KDEFRONTEND_DIR}/datasources/NetCDFOptionsWidget.cpp
0068         ${KDEFRONTEND_DIR}/datasources/ROOTOptionsWidget.cpp
0069         ${KDEFRONTEND_DIR}/datasources/FITSOptionsWidget.cpp
0070         ${KDEFRONTEND_DIR}/datasources/JsonOptionsWidget.cpp
0071         ${KDEFRONTEND_DIR}/dockwidgets/BaseDock.cpp
0072         ${KDEFRONTEND_DIR}/dockwidgets/AspectDock.cpp
0073         ${KDEFRONTEND_DIR}/dockwidgets/AxisDock.cpp
0074         ${KDEFRONTEND_DIR}/dockwidgets/CursorDock.cpp
0075         ${KDEFRONTEND_DIR}/dockwidgets/ImageDock.cpp
0076         ${KDEFRONTEND_DIR}/dockwidgets/InfoElementDock.cpp
0077         ${KDEFRONTEND_DIR}/dockwidgets/NoteDock.cpp
0078         ${KDEFRONTEND_DIR}/dockwidgets/CartesianPlotDock.cpp
0079         ${KDEFRONTEND_DIR}/dockwidgets/CartesianPlotLegendDock.cpp
0080         ${KDEFRONTEND_DIR}/dockwidgets/HistogramDock.cpp
0081         ${KDEFRONTEND_DIR}/dockwidgets/BarPlotDock.cpp
0082         ${KDEFRONTEND_DIR}/dockwidgets/BoxPlotDock.cpp
0083         ${KDEFRONTEND_DIR}/dockwidgets/CustomPointDock.cpp
0084         ${KDEFRONTEND_DIR}/dockwidgets/ColumnDock.cpp
0085         ${KDEFRONTEND_DIR}/dockwidgets/KDEPlotDock.cpp
0086         ${KDEFRONTEND_DIR}/dockwidgets/LiveDataDock.cpp
0087         ${KDEFRONTEND_DIR}/dockwidgets/LollipopPlotDock.cpp
0088         ${KDEFRONTEND_DIR}/dockwidgets/MatrixDock.cpp
0089         ${KDEFRONTEND_DIR}/dockwidgets/ProjectDock.cpp
0090         ${KDEFRONTEND_DIR}/dockwidgets/ReferenceLineDock.cpp
0091         ${KDEFRONTEND_DIR}/dockwidgets/ReferenceRangeDock.cpp
0092         ${KDEFRONTEND_DIR}/dockwidgets/SpreadsheetDock.cpp
0093         ${KDEFRONTEND_DIR}/dockwidgets/StatisticsSpreadsheetDock.cpp
0094         ${KDEFRONTEND_DIR}/dockwidgets/QQPlotDock.cpp
0095         ${KDEFRONTEND_DIR}/dockwidgets/XYCurveDock.cpp
0096         ${KDEFRONTEND_DIR}/dockwidgets/XYAnalysisCurveDock.cpp
0097         ${KDEFRONTEND_DIR}/dockwidgets/XYEquationCurveDock.cpp
0098         ${KDEFRONTEND_DIR}/dockwidgets/XYDataReductionCurveDock.cpp
0099         ${KDEFRONTEND_DIR}/dockwidgets/XYDifferentiationCurveDock.cpp
0100         ${KDEFRONTEND_DIR}/dockwidgets/XYIntegrationCurveDock.cpp
0101         ${KDEFRONTEND_DIR}/dockwidgets/XYInterpolationCurveDock.cpp
0102         ${KDEFRONTEND_DIR}/dockwidgets/XYSmoothCurveDock.cpp
0103         ${KDEFRONTEND_DIR}/dockwidgets/XYFitCurveDock.cpp
0104         ${KDEFRONTEND_DIR}/dockwidgets/XYFourierFilterCurveDock.cpp
0105         ${KDEFRONTEND_DIR}/dockwidgets/XYFourierTransformCurveDock.cpp
0106         ${KDEFRONTEND_DIR}/dockwidgets/XYHilbertTransformCurveDock.cpp
0107         ${KDEFRONTEND_DIR}/dockwidgets/XYConvolutionCurveDock.cpp
0108         ${KDEFRONTEND_DIR}/dockwidgets/XYCorrelationCurveDock.cpp
0109         ${KDEFRONTEND_DIR}/dockwidgets/WorksheetDock.cpp
0110         ${KDEFRONTEND_DIR}/matrix/MatrixFunctionDialog.cpp
0111         ${KDEFRONTEND_DIR}/spreadsheet/PlotDataDialog.cpp
0112         ${KDEFRONTEND_DIR}/spreadsheet/EquidistantValuesDialog.cpp
0113         ${KDEFRONTEND_DIR}/spreadsheet/ExportSpreadsheetDialog.cpp
0114         ${KDEFRONTEND_DIR}/spreadsheet/AddSubtractValueDialog.cpp
0115         ${KDEFRONTEND_DIR}/spreadsheet/AddValueLabelDialog.cpp
0116         ${KDEFRONTEND_DIR}/spreadsheet/BatchEditValueLabelsDialog.cpp
0117         ${KDEFRONTEND_DIR}/spreadsheet/DropValuesDialog.cpp
0118         ${KDEFRONTEND_DIR}/spreadsheet/FlattenColumnsDialog.cpp
0119         ${KDEFRONTEND_DIR}/spreadsheet/FormattingHeatmapDialog.cpp
0120         ${KDEFRONTEND_DIR}/spreadsheet/GoToDialog.cpp
0121         ${KDEFRONTEND_DIR}/spreadsheet/FunctionValuesDialog.cpp
0122         ${KDEFRONTEND_DIR}/spreadsheet/RandomValuesDialog.cpp
0123         ${KDEFRONTEND_DIR}/spreadsheet/RescaleDialog.cpp
0124         ${KDEFRONTEND_DIR}/spreadsheet/SampleValuesDialog.cpp
0125         ${KDEFRONTEND_DIR}/spreadsheet/SearchReplaceWidget.cpp
0126         ${KDEFRONTEND_DIR}/spreadsheet/SortDialog.cpp
0127         ${KDEFRONTEND_DIR}/spreadsheet/StatisticsColumnWidget.cpp
0128         ${KDEFRONTEND_DIR}/spreadsheet/StatisticsDialog.cpp
0129         ${KDEFRONTEND_DIR}/worksheet/ExportWorksheetDialog.cpp
0130         ${KDEFRONTEND_DIR}/worksheet/GridDialog.cpp
0131         ${KDEFRONTEND_DIR}/worksheet/PresenterWidget.cpp
0132         ${KDEFRONTEND_DIR}/worksheet/SlidingPanel.cpp
0133         ${KDEFRONTEND_DIR}/worksheet/WorksheetPreviewWidget.cpp
0134         ${KDEFRONTEND_DIR}/widgets/BackgroundWidget.cpp
0135         ${KDEFRONTEND_DIR}/widgets/ConstantsWidget.cpp
0136         ${KDEFRONTEND_DIR}/widgets/ThemesComboBox.cpp
0137         ${KDEFRONTEND_DIR}/widgets/ThemesWidget.cpp
0138         ${KDEFRONTEND_DIR}/widgets/ExpressionTextEdit.cpp
0139         ${KDEFRONTEND_DIR}/widgets/FitOptionsWidget.cpp
0140         ${KDEFRONTEND_DIR}/widgets/FitParametersWidget.cpp
0141         ${KDEFRONTEND_DIR}/widgets/FunctionsWidget.cpp
0142         ${KDEFRONTEND_DIR}/widgets/LabelWidget.cpp
0143         ${KDEFRONTEND_DIR}/widgets/ErrorBarStyleWidget.cpp
0144         ${KDEFRONTEND_DIR}/widgets/LineWidget.cpp
0145         ${KDEFRONTEND_DIR}/widgets/SymbolWidget.cpp
0146         ${KDEFRONTEND_DIR}/widgets/ValueWidget.cpp
0147         ${KDEFRONTEND_DIR}/widgets/DatapickerImageWidget.cpp
0148         ${KDEFRONTEND_DIR}/widgets/DatapickerCurveWidget.cpp
0149         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditWidget.cpp
0150         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditNewKeywordDialog.cpp
0151         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditAddUnitDialog.cpp
0152         ${KDEFRONTEND_DIR}/widgets/FITSHeaderEditDialog.cpp
0153         ${KDEFRONTEND_DIR}/widgets/ResizableTextEdit.cpp
0154   ${KDEFRONTEND_DIR}/widgets/TimedLineEdit.cpp
0155 )
0156 
0157 if (Qt${QT_VERSION_MAJOR}Mqtt_FOUND)
0158         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTConnectionManagerWidget.cpp)
0159         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTConnectionManagerDialog.cpp)
0160         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTErrorWidget.cpp)
0161         list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/datasources/MQTTSubscriptionWidget.cpp)
0162 endif()
0163 
0164 if (APPLE)
0165   list(APPEND GUI_SOURCES ${KDEFRONTEND_DIR}/worksheet/PresenterWidget_mac.mm)
0166 endif()
0167 
0168 set(GUI_QRC
0169         ${KDEFRONTEND_DIR}/labplot2.qrc
0170 )
0171 
0172 set(UI_SOURCES
0173         ${KDEFRONTEND_DIR}/ui/colormapswidget.ui
0174         ${KDEFRONTEND_DIR}/ui/constantswidget.ui
0175         ${KDEFRONTEND_DIR}/ui/PlotTemplateDialog.ui
0176         ${KDEFRONTEND_DIR}/ui/exampleswidget.ui
0177         ${KDEFRONTEND_DIR}/ui/functionswidget.ui
0178         ${KDEFRONTEND_DIR}/ui/fitoptionswidget.ui
0179         ${KDEFRONTEND_DIR}/ui/fitparameterswidget.ui
0180         ${KDEFRONTEND_DIR}/ui/labelwidget.ui
0181         ${KDEFRONTEND_DIR}/ui/symbolwidget.ui
0182         ${KDEFRONTEND_DIR}/ui/settingsnotebookpage.ui
0183         ${KDEFRONTEND_DIR}/ui/settingsgeneralpage.ui
0184         ${KDEFRONTEND_DIR}/ui/settingsspreadsheetpage.ui
0185         ${KDEFRONTEND_DIR}/ui/settingsworksheetpage.ui
0186 #       ${KDEFRONTEND_DIR}/ui/settingswelcomepage.ui
0187         ${KDEFRONTEND_DIR}/ui/settingsdatasetspage.ui
0188         ${KDEFRONTEND_DIR}/ui/settingsprintingpage.ui
0189         ${KDEFRONTEND_DIR}/ui/datasources/asciioptionswidget.ui
0190         ${KDEFRONTEND_DIR}/ui/datasources/CANOptionsWidget.ui
0191         ${KDEFRONTEND_DIR}/ui/datasources/binaryoptionswidget.ui
0192         ${KDEFRONTEND_DIR}/ui/datasources/databasemanagerwidget.ui
0193         ${KDEFRONTEND_DIR}/ui/datasources/datasetmetadatamanagerwidget.ui
0194         ${KDEFRONTEND_DIR}/ui/datasources/hdf5optionswidget.ui
0195         ${KDEFRONTEND_DIR}/ui/datasources/imageoptionswidget.ui
0196         ${KDEFRONTEND_DIR}/ui/datasources/importdatasetwidget.ui
0197         ${KDEFRONTEND_DIR}/ui/datasources/importfilewidget.ui
0198         ${KDEFRONTEND_DIR}/ui/datasources/ImportErrorDialog.ui
0199         ${KDEFRONTEND_DIR}/ui/datasources/importprojectwidget.ui
0200         ${KDEFRONTEND_DIR}/ui/datasources/importsqldatabasewidget.ui
0201         ${KDEFRONTEND_DIR}/ui/datasources/matiooptionswidget.ui
0202         ${KDEFRONTEND_DIR}/ui/datasources/netcdfoptionswidget.ui
0203         ${KDEFRONTEND_DIR}/ui/datasources/rootoptionswidget.ui
0204         ${KDEFRONTEND_DIR}/ui/datasources/fitsoptionswidget.ui
0205         ${KDEFRONTEND_DIR}/ui/datasources/jsonoptionswidget.ui
0206         ${KDEFRONTEND_DIR}/ui/datasources/odsoptionswidget.ui
0207         ${KDEFRONTEND_DIR}/ui/datasources/xlsxoptionswidget.ui
0208         ${KDEFRONTEND_DIR}/ui/dockwidgets/aspectdock.ui
0209         ${KDEFRONTEND_DIR}/ui/dockwidgets/axisdock.ui
0210         ${KDEFRONTEND_DIR}/ui/dockwidgets/backgroundwidget.ui
0211         ${KDEFRONTEND_DIR}/ui/dockwidgets/cursordock.ui
0212         ${KDEFRONTEND_DIR}/ui/dockwidgets/infoelementdock.ui
0213         ${KDEFRONTEND_DIR}/ui/dockwidgets/cartesianplotdock.ui
0214         ${KDEFRONTEND_DIR}/ui/dockwidgets/cartesianplotlegenddock.ui
0215         ${KDEFRONTEND_DIR}/ui/dockwidgets/histogramdock.ui
0216         ${KDEFRONTEND_DIR}/ui/dockwidgets/barplotdock.ui
0217         ${KDEFRONTEND_DIR}/ui/dockwidgets/boxplotdock.ui
0218         ${KDEFRONTEND_DIR}/ui/dockwidgets/columndock.ui
0219         ${KDEFRONTEND_DIR}/ui/dockwidgets/custompointdock.ui
0220         ${KDEFRONTEND_DIR}/ui/dockwidgets/errorbarstylewidget.ui
0221         ${KDEFRONTEND_DIR}/ui/dockwidgets/imagedock.ui
0222         ${KDEFRONTEND_DIR}/ui/dockwidgets/kdeplotdock.ui
0223         ${KDEFRONTEND_DIR}/ui/dockwidgets/linewidget.ui
0224         ${KDEFRONTEND_DIR}/ui/dockwidgets/livedatadock.ui
0225         ${KDEFRONTEND_DIR}/ui/dockwidgets/lollipopplotdock.ui
0226         ${KDEFRONTEND_DIR}/ui/dockwidgets/notedock.ui
0227         ${KDEFRONTEND_DIR}/ui/dockwidgets/matrixdock.ui
0228         ${KDEFRONTEND_DIR}/ui/dockwidgets/projectdock.ui
0229         ${KDEFRONTEND_DIR}/ui/dockwidgets/referencelinedock.ui
0230         ${KDEFRONTEND_DIR}/ui/dockwidgets/referencerangedock.ui
0231         ${KDEFRONTEND_DIR}/ui/dockwidgets/spreadsheetdock.ui
0232         ${KDEFRONTEND_DIR}/ui/dockwidgets/statisticsspreadsheetdock.ui
0233         ${KDEFRONTEND_DIR}/ui/dockwidgets/qqplotdock.ui
0234         ${KDEFRONTEND_DIR}/ui/dockwidgets/xycurvedock.ui
0235         ${KDEFRONTEND_DIR}/ui/dockwidgets/xycurvedockgeneraltab.ui
0236         ${KDEFRONTEND_DIR}/ui/dockwidgets/xydatareductioncurvedockgeneraltab.ui
0237         ${KDEFRONTEND_DIR}/ui/dockwidgets/xydifferentiationcurvedockgeneraltab.ui
0238         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyintegrationcurvedockgeneraltab.ui
0239         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyinterpolationcurvedockgeneraltab.ui
0240         ${KDEFRONTEND_DIR}/ui/dockwidgets/xysmoothcurvedockgeneraltab.ui
0241         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyfitcurvedockgeneraltab.ui
0242         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyfourierfiltercurvedockgeneraltab.ui
0243         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyfouriertransformcurvedockgeneraltab.ui
0244         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyhilberttransformcurvedockgeneraltab.ui
0245         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyconvolutioncurvedockgeneraltab.ui
0246         ${KDEFRONTEND_DIR}/ui/dockwidgets/xycorrelationcurvedockgeneraltab.ui
0247         ${KDEFRONTEND_DIR}/ui/dockwidgets/xyequationcurvedockgeneraltab.ui
0248         ${KDEFRONTEND_DIR}/ui/dockwidgets/valuewidget.ui
0249         ${KDEFRONTEND_DIR}/ui/dockwidgets/worksheetdock.ui
0250         ${KDEFRONTEND_DIR}/ui/matrix/matrixfunctionwidget.ui
0251         ${KDEFRONTEND_DIR}/ui/spreadsheet/plotdatawidget.ui
0252         ${KDEFRONTEND_DIR}/ui/spreadsheet/equidistantvalueswidget.ui
0253         ${KDEFRONTEND_DIR}/ui/spreadsheet/exportspreadsheetwidget.ui
0254         ${KDEFRONTEND_DIR}/ui/spreadsheet/addsubtractvaluewidget.ui
0255         ${KDEFRONTEND_DIR}/ui/spreadsheet/dropvalueswidget.ui
0256         ${KDEFRONTEND_DIR}/ui/spreadsheet/flattencolumnswidget.ui
0257         ${KDEFRONTEND_DIR}/ui/spreadsheet/formattingheatmapwidget.ui
0258         ${KDEFRONTEND_DIR}/ui/spreadsheet/functionvalueswidget.ui
0259         ${KDEFRONTEND_DIR}/ui/spreadsheet/randomvalueswidget.ui
0260         ${KDEFRONTEND_DIR}/ui/spreadsheet/rescalewidget.ui
0261         ${KDEFRONTEND_DIR}/ui/spreadsheet/samplevalueswidget.ui
0262         ${KDEFRONTEND_DIR}/ui/spreadsheet/searchwidget.ui
0263         ${KDEFRONTEND_DIR}/ui/spreadsheet/searchreplacewidget.ui
0264         ${KDEFRONTEND_DIR}/ui/spreadsheet/sortdialogwidget.ui
0265         ${KDEFRONTEND_DIR}/ui/worksheet/exportworksheetwidget.ui
0266         ${KDEFRONTEND_DIR}/ui/worksheet/worksheetpreviewwidget.ui
0267         ${KDEFRONTEND_DIR}/ui/datapickerimagewidget.ui
0268         ${KDEFRONTEND_DIR}/ui/datapickercurvewidget.ui
0269         ${KDEFRONTEND_DIR}/ui/fitsheadereditwidget.ui
0270         ${KDEFRONTEND_DIR}/ui/fitsheadereditnewkeywordwidget.ui
0271         ${KDEFRONTEND_DIR}/ui/fitsheadereditaddunitwidget.ui
0272 )
0273 
0274 if (Qt${QT_VERSION_MAJOR}Mqtt_FOUND)
0275         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/datasources/mqttconnectionmanagerwidget.ui)
0276         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/datasources/mqtterrorwidget.ui)
0277         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/datasources/mqttsubscriptionwidget.ui)
0278         list(APPEND UI_SOURCES ${KDEFRONTEND_DIR}/ui/mqttwillsettingswidget.ui)
0279 endif()
0280 
0281 set(BACKEND_SOURCES
0282         ${BACKEND_DIR}/core/Time.cpp
0283         ${BACKEND_DIR}/core/Folder.cpp
0284         ${BACKEND_DIR}/core/AbstractAspect.cpp
0285         ${BACKEND_DIR}/core/AbstractColumn.cpp
0286         ${BACKEND_DIR}/core/AbstractColumnPrivate.cpp
0287         ${BACKEND_DIR}/core/abstractcolumncommands.cpp
0288         ${BACKEND_DIR}/core/AbstractFilter.cpp
0289         ${BACKEND_DIR}/core/AbstractSimpleFilter.cpp
0290         ${BACKEND_DIR}/core/column/Column.cpp
0291         ${BACKEND_DIR}/core/column/ColumnPrivate.cpp
0292         ${BACKEND_DIR}/core/column/ColumnStringIO.cpp
0293         ${BACKEND_DIR}/core/column/columncommands.cpp
0294         ${BACKEND_DIR}/core/Project.cpp
0295         ${BACKEND_DIR}/core/AbstractPart.cpp
0296         ${BACKEND_DIR}/core/Workbook.cpp
0297         ${BACKEND_DIR}/core/AspectTreeModel.cpp
0298         ${BACKEND_DIR}/core/Settings.cpp
0299         ${BACKEND_DIR}/core/datatypes/SimpleCopyThroughFilter.h
0300         ${BACKEND_DIR}/core/datatypes/Double2DateTimeFilter.h
0301         ${BACKEND_DIR}/core/datatypes/Double2DayOfWeekFilter.h
0302         ${BACKEND_DIR}/core/datatypes/Double2IntegerFilter.h
0303         ${BACKEND_DIR}/core/datatypes/Double2BigIntFilter.h
0304         ${BACKEND_DIR}/core/datatypes/Double2MonthFilter.h
0305         ${BACKEND_DIR}/core/datatypes/Double2StringFilter.cpp
0306         ${BACKEND_DIR}/core/datatypes/Integer2DoubleFilter.h
0307         ${BACKEND_DIR}/core/datatypes/Integer2BigIntFilter.h
0308         ${BACKEND_DIR}/core/datatypes/Integer2DateTimeFilter.h
0309         ${BACKEND_DIR}/core/datatypes/Integer2DayOfWeekFilter.h
0310         ${BACKEND_DIR}/core/datatypes/Integer2MonthFilter.h
0311         ${BACKEND_DIR}/core/datatypes/Integer2StringFilter.h
0312         ${BACKEND_DIR}/core/datatypes/BigInt2DoubleFilter.h
0313         ${BACKEND_DIR}/core/datatypes/BigInt2IntegerFilter.h
0314         ${BACKEND_DIR}/core/datatypes/BigInt2StringFilter.h
0315         ${BACKEND_DIR}/core/datatypes/BigInt2DateTimeFilter.h
0316         ${BACKEND_DIR}/core/datatypes/BigInt2MonthFilter.h
0317         ${BACKEND_DIR}/core/datatypes/BigInt2DayOfWeekFilter.h
0318         ${BACKEND_DIR}/core/datatypes/String2DayOfWeekFilter.h
0319         ${BACKEND_DIR}/core/datatypes/String2DoubleFilter.h
0320         ${BACKEND_DIR}/core/datatypes/String2IntegerFilter.h
0321         ${BACKEND_DIR}/core/datatypes/String2BigIntFilter.h
0322         ${BACKEND_DIR}/core/datatypes/String2MonthFilter.h
0323         ${BACKEND_DIR}/core/datatypes/String2DateTimeFilter.cpp
0324         ${BACKEND_DIR}/core/datatypes/DateTime2DoubleFilter.h
0325         ${BACKEND_DIR}/core/datatypes/DateTime2IntegerFilter.h
0326         ${BACKEND_DIR}/core/datatypes/DateTime2BigIntFilter.h
0327         ${BACKEND_DIR}/core/datatypes/DateTime2StringFilter.cpp
0328         ${BACKEND_DIR}/core/datatypes/Month2DoubleFilter.h
0329         ${BACKEND_DIR}/core/datatypes/Month2IntegerFilter.h
0330         ${BACKEND_DIR}/core/datatypes/Month2BigIntFilter.h
0331         ${BACKEND_DIR}/core/datatypes/DayOfWeek2DoubleFilter.h
0332         ${BACKEND_DIR}/core/datatypes/DayOfWeek2IntegerFilter.h
0333         ${BACKEND_DIR}/core/datatypes/DayOfWeek2BigIntFilter.h
0334         ${BACKEND_DIR}/core/plugin/PluginLoader.cpp
0335         ${BACKEND_DIR}/core/plugin/PluginManager.cpp
0336         ${BACKEND_DIR}/datapicker/DatapickerPoint.cpp
0337         ${BACKEND_DIR}/datapicker/DatapickerImage.cpp
0338         ${BACKEND_DIR}/datapicker/Datapicker.cpp
0339         ${BACKEND_DIR}/datapicker/Transform.cpp
0340         ${BACKEND_DIR}/datapicker/ImageEditor.cpp
0341         ${BACKEND_DIR}/datapicker/Segment.cpp
0342         ${BACKEND_DIR}/datapicker/Segments.cpp
0343         ${BACKEND_DIR}/datapicker/DatapickerCurve.cpp
0344         ${BACKEND_DIR}/datasources/AbstractDataSource.cpp
0345         ${BACKEND_DIR}/datasources/DatasetHandler.cpp
0346         ${BACKEND_DIR}/datasources/LiveDataSource.cpp
0347         ${BACKEND_DIR}/datasources/filters/AbstractFileFilter.cpp
0348         ${BACKEND_DIR}/datasources/filters/AsciiFilter.cpp
0349         ${BACKEND_DIR}/datasources/filters/BinaryFilter.cpp
0350         ${BACKEND_DIR}/datasources/filters/XLSXFilter.cpp
0351         ${BACKEND_DIR}/datasources/filters/FITSFilter.cpp
0352         ${BACKEND_DIR}/datasources/filters/HDF5Filter.cpp
0353         ${BACKEND_DIR}/datasources/filters/ImageFilter.cpp
0354         ${BACKEND_DIR}/datasources/filters/JsonFilter.cpp
0355         ${BACKEND_DIR}/datasources/filters/MatioFilter.cpp
0356         ${BACKEND_DIR}/datasources/filters/NetCDFFilter.cpp
0357         ${BACKEND_DIR}/datasources/filters/OdsFilter.cpp
0358         ${BACKEND_DIR}/datasources/filters/QJsonModel.cpp
0359         ${BACKEND_DIR}/datasources/filters/ReadStatFilter.cpp
0360         ${BACKEND_DIR}/datasources/filters/ROOTFilter.cpp
0361         ${BACKEND_DIR}/datasources/filters/SpiceReader.cpp
0362         ${BACKEND_DIR}/datasources/filters/SpiceFilter.cpp
0363         ${BACKEND_DIR}/datasources/filters/VectorBLFFilter.cpp
0364         ${BACKEND_DIR}/datasources/filters/CANFilter.cpp
0365         ${BACKEND_DIR}/datasources/filters/DBCParser.cpp
0366         ${BACKEND_DIR}/datasources/projects/ProjectParser.cpp
0367         ${BACKEND_DIR}/datasources/projects/LabPlotProjectParser.cpp
0368         ${BACKEND_DIR}/gsl/ExpressionParser.cpp
0369         ${BACKEND_DIR}/gsl/constants.cpp
0370         ${BACKEND_DIR}/gsl/functions.cpp
0371         ${BACKEND_DIR}/lib/Range.cpp
0372         ${BACKEND_DIR}/lib/XmlStreamReader.cpp
0373         ${BACKEND_DIR}/lib/SignallingUndoCommand.cpp
0374         ${BACKEND_DIR}/matrix/Matrix.cpp
0375         ${BACKEND_DIR}/matrix/matrixcommands.cpp
0376         ${BACKEND_DIR}/matrix/MatrixModel.cpp
0377         ${BACKEND_DIR}/note/Note.cpp
0378         ${BACKEND_DIR}/spreadsheet/Spreadsheet.cpp
0379         ${BACKEND_DIR}/spreadsheet/SpreadsheetModel.cpp
0380         ${BACKEND_DIR}/spreadsheet/StatisticsSpreadsheet.cpp
0381         ${BACKEND_DIR}/worksheet/Background.cpp
0382         ${BACKEND_DIR}/worksheet/Image.cpp
0383         ${BACKEND_DIR}/worksheet/Line.cpp
0384         ${BACKEND_DIR}/worksheet/ResizeItem.cpp
0385         ${BACKEND_DIR}/worksheet/WorksheetElement.cpp
0386         ${BACKEND_DIR}/worksheet/TextLabel.cpp
0387         ${BACKEND_DIR}/worksheet/InfoElement.cpp
0388         ${BACKEND_DIR}/worksheet/Worksheet.cpp
0389         ${BACKEND_DIR}/worksheet/WorksheetElementContainer.cpp
0390         ${BACKEND_DIR}/worksheet/WorksheetElementGroup.cpp
0391         ${BACKEND_DIR}/worksheet/TreeModel.cpp
0392         ${BACKEND_DIR}/worksheet/plots/AbstractPlot.cpp
0393         ${BACKEND_DIR}/worksheet/plots/AbstractCoordinateSystem.cpp
0394         ${BACKEND_DIR}/worksheet/plots/PlotArea.cpp
0395         ${BACKEND_DIR}/worksheet/plots/cartesian/Axis.cpp
0396         ${BACKEND_DIR}/worksheet/plots/cartesian/BarPlot.cpp
0397         ${BACKEND_DIR}/worksheet/plots/cartesian/BoxPlot.cpp
0398         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianScale.cpp
0399         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianCoordinateSystem.cpp
0400         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianPlot.cpp
0401         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianPlotLegend.cpp
0402         ${BACKEND_DIR}/worksheet/plots/cartesian/ErrorBar.cpp
0403         ${BACKEND_DIR}/worksheet/plots/cartesian/ErrorBarStyle.cpp
0404         ${BACKEND_DIR}/worksheet/plots/cartesian/Histogram.cpp
0405         ${BACKEND_DIR}/worksheet/plots/cartesian/CustomPoint.cpp
0406         ${BACKEND_DIR}/worksheet/plots/cartesian/KDEPlot.cpp
0407         ${BACKEND_DIR}/worksheet/plots/cartesian/LollipopPlot.cpp
0408         ${BACKEND_DIR}/worksheet/plots/cartesian/Plot.cpp
0409         ${BACKEND_DIR}/worksheet/plots/cartesian/ReferenceLine.cpp
0410         ${BACKEND_DIR}/worksheet/plots/cartesian/ReferenceRange.cpp
0411         ${BACKEND_DIR}/worksheet/plots/cartesian/Symbol.cpp
0412         ${BACKEND_DIR}/worksheet/plots/cartesian/QQPlot.cpp
0413         ${BACKEND_DIR}/worksheet/plots/cartesian/XYAnalysisCurve.cpp
0414         ${BACKEND_DIR}/worksheet/plots/cartesian/XYCurve.cpp
0415         ${BACKEND_DIR}/worksheet/plots/cartesian/XYEquationCurve.cpp
0416         ${BACKEND_DIR}/worksheet/plots/cartesian/XYDataReductionCurve.cpp
0417         ${BACKEND_DIR}/worksheet/plots/cartesian/XYDifferentiationCurve.cpp
0418         ${BACKEND_DIR}/worksheet/plots/cartesian/XYIntegrationCurve.cpp
0419         ${BACKEND_DIR}/worksheet/plots/cartesian/XYInterpolationCurve.cpp
0420         ${BACKEND_DIR}/worksheet/plots/cartesian/XYSmoothCurve.cpp
0421         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFitCurve.cpp
0422         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFourierFilterCurve.cpp
0423         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFourierTransformCurve.cpp
0424         ${BACKEND_DIR}/worksheet/plots/cartesian/XYHilbertTransformCurve.cpp
0425         ${BACKEND_DIR}/worksheet/plots/cartesian/XYConvolutionCurve.cpp
0426         ${BACKEND_DIR}/worksheet/plots/cartesian/XYCorrelationCurve.cpp
0427         ${BACKEND_DIR}/worksheet/plots/cartesian/Value.cpp
0428 )
0429 
0430 if (Qt${QT_VERSION_MAJOR}Mqtt_FOUND)
0431         list(APPEND BACKEND_SOURCES ${KDEFRONTEND_DIR}/widgets/MQTTWillSettingsWidget.cpp)
0432         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/MQTTClient.cpp)
0433         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/MQTTSubscription.cpp)
0434         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/MQTTTopic.cpp)
0435 endif()
0436 
0437 # add the qml.qrc file
0438 # qt5_add_resources(qml_QRC ${KDEFRONTEND_DIR}/welcomescreen/qml.qrc)
0439 # better: enable AUTORCC
0440 
0441 IF (ENABLE_LIBORIGIN)
0442         list(APPEND BACKEND_SOURCES ${BACKEND_DIR}/datasources/projects/OriginProjectParser.cpp)
0443 ENDIF ()
0444 
0445 set(NSL_SOURCES
0446         ${BACKEND_DIR}/nsl/nsl_baseline.cpp
0447         ${BACKEND_DIR}/nsl/nsl_conv.c
0448         ${BACKEND_DIR}/nsl/nsl_corr.c
0449         ${BACKEND_DIR}/nsl/nsl_dft.c
0450         ${BACKEND_DIR}/nsl/nsl_diff.c
0451         ${BACKEND_DIR}/nsl/nsl_filter.c
0452         ${BACKEND_DIR}/nsl/nsl_fit.c
0453         ${BACKEND_DIR}/nsl/nsl_geom.c
0454         ${BACKEND_DIR}/nsl/nsl_geom_linesim.c
0455         ${BACKEND_DIR}/nsl/nsl_hilbert.c
0456         ${BACKEND_DIR}/nsl/nsl_int.c
0457         ${BACKEND_DIR}/nsl/nsl_interp.c
0458         ${BACKEND_DIR}/nsl/nsl_kde.c
0459         ${BACKEND_DIR}/nsl/nsl_math.c
0460         ${BACKEND_DIR}/nsl/nsl_peak.cpp
0461         ${BACKEND_DIR}/nsl/nsl_sf_basic.c
0462         ${BACKEND_DIR}/nsl/nsl_sf_kernel.c
0463         ${BACKEND_DIR}/nsl/nsl_sf_poly.c
0464         ${BACKEND_DIR}/nsl/nsl_sf_stats.c
0465         ${BACKEND_DIR}/nsl/nsl_sf_window.c
0466         ${BACKEND_DIR}/nsl/nsl_smooth.c
0467         ${BACKEND_DIR}/nsl/nsl_sort.c
0468         ${BACKEND_DIR}/nsl/nsl_stats.c
0469 )
0470 
0471 IF (NOT MSVC_FOUND)
0472 IF (NOT LIBCERF_FOUND)
0473         list(APPEND NSL_SOURCES
0474                 ${BACKEND_DIR}/nsl/Faddeeva.c
0475         )
0476 ENDIF ()
0477 ENDIF ()
0478 
0479 set(COMMONFRONTEND_SOURCES
0480         ${COMMONFRONTEND_DIR}/matrix/MatrixView.cpp
0481         ${COMMONFRONTEND_DIR}/note/NoteView.cpp
0482         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetCommentsHeaderModel.cpp
0483         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetHeaderView.cpp
0484         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetItemDelegate.cpp
0485         ${COMMONFRONTEND_DIR}/spreadsheet/SpreadsheetView.cpp
0486         ${COMMONFRONTEND_DIR}/workbook/WorkbookView.cpp
0487         ${COMMONFRONTEND_DIR}/worksheet/WorksheetView.cpp
0488         ${COMMONFRONTEND_DIR}/ProjectExplorer.cpp
0489         ${COMMONFRONTEND_DIR}/core/ContentDockWidget.cpp
0490         ${COMMONFRONTEND_DIR}/widgets/TreeViewComboBox.cpp
0491         ${COMMONFRONTEND_DIR}/widgets/qxtspanslider.cpp
0492         ${COMMONFRONTEND_DIR}/widgets/MemoryWidget.cpp
0493         ${COMMONFRONTEND_DIR}/widgets/DateTimeSpinBox.cpp
0494         ${COMMONFRONTEND_DIR}/widgets/NumberSpinBox.cpp
0495         ${COMMONFRONTEND_DIR}/widgets/UTCDateTimeEdit.cpp
0496         ${COMMONFRONTEND_DIR}/datapicker/DatapickerView.cpp
0497         ${COMMONFRONTEND_DIR}/datapicker/DatapickerImageView.cpp
0498 )
0499 
0500 IF (RECENT_CANTOR)
0501         set(CANTOR_SOURCES
0502                 ${KDEFRONTEND_DIR}/dockwidgets/CantorWorksheetDock.cpp
0503                 ${BACKEND_DIR}/cantorWorksheet/VariableParser.cpp
0504                 ${BACKEND_DIR}/cantorWorksheet/CantorWorksheet.cpp
0505                 ${COMMONFRONTEND_DIR}/cantorWorksheet/CantorWorksheetView.cpp
0506         )
0507         set(CANTOR_UI_SOURCES ${KDEFRONTEND_DIR}/ui/dockwidgets/cantorworksheetdock.ui)
0508         set(UI_SOURCES ${UI_SOURCES} ${CANTOR_UI_SOURCES})
0509 ELSE ()
0510         set(CANTOR_SOURCES "")
0511 ENDIF ()
0512 
0513 set(BACKEND_TOOLS_SOURCES
0514         ${TOOLS_DIR}/ImageTools.cpp
0515 )
0516 set(TOOLS_SOURCES
0517         ${TOOLS_DIR}/ColorMapsManager.cpp
0518         ${TOOLS_DIR}/EquationHighlighter.cpp
0519         ${TOOLS_DIR}/TeXRenderer.cpp
0520 )
0521 
0522 bison_target(GslParser
0523         ${BACKEND_DIR}/gsl/parser.ypp
0524         ${CMAKE_CURRENT_BINARY_DIR}/gsl_parser.cpp
0525 )
0526 set(GENERATED_SOURCES
0527         ${BISON_GslParser_OUTPUTS}
0528 )
0529 
0530 ##############################################################################
0531 INCLUDE_DIRECTORIES( . ${BACKEND_DIR}/gsl ${GSL_INCLUDE_DIR} )
0532 set( LABPLOT_SRCS ${GUI_SOURCES} )
0533 ki18n_wrap_ui( LABPLOT_SRCS ${UI_SOURCES} )
0534 # see also QT_MIN_VERSION in CMakeLists.txt
0535 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x50700)
0536 #IF (QT_MAJOR_VERSION MATCHES 5 AND QT_MINOR_VERSION MATCHES 15)
0537 #       add_definitions(-DQT_NO_DEPRECATED_WARNINGS)
0538 #ENDIF ()
0539 # check for Qt6 compatability
0540 #add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x50F00)
0541 
0542 # static library
0543 add_library( labplot2nsllib STATIC ${NSL_SOURCES} )
0544 add_library( labplot2backendlib STATIC ${BACKEND_SOURCES} ${UI_SOURCES} ${BACKEND_TOOLS_SOURCES} ${GENERATED_SOURCES} )
0545 add_library( labplot2lib STATIC ${LABPLOT_SRCS} ${CANTOR_SOURCES} ${DATASOURCES_SOURCES} ${COMMONFRONTEND_SOURCES} ${TOOLS_SOURCES} ${QTMOC_HDRS} )
0546 # set_property(TARGET ${objlib} PROPERTY POSITION_INDEPENDENT_CODE 1)
0547 target_include_directories(labplot2backendlib PUBLIC ${COMMONFRONTEND_DIR}/widgets) # so that the MOC finds numberSpinbox.h
0548 target_include_directories(labplot2lib PUBLIC ${COMMONFRONTEND_DIR}/widgets) # so that the MOC finds numberSpinbox.h
0549 
0550 # add system QADS include path
0551 if (qt${QT_VERSION_MAJOR}advanceddocking_FOUND)
0552         get_target_property(QADS_INCLUDES ads::qt${QT_VERSION_MAJOR}advanceddocking INTERFACE_INCLUDE_DIRECTORIES)
0553         get_target_property(QADS_LIBRARIES ads::qt${QT_VERSION_MAJOR}advanceddocking INTERFACE_LINK_LIBRARIES)
0554         MESSAGE (STATUS "QADS Found LINK_LIBRARIES: ${QADS_LIBRARIES} INCLUDES: ${QADS_INCLUDES}")
0555         target_include_directories( labplot2backendlib PRIVATE ${QADS_INCLUDES} )
0556         target_include_directories( labplot2lib PRIVATE ${QADS_INCLUDES} )
0557 endif ()
0558 target_compile_definitions(labplot2backendlib PRIVATE ${LABPLOT_COMPILE_DEFINITIONS})
0559 target_compile_definitions(labplot2lib PRIVATE ${LABPLOT_COMPILE_DEFINITIONS})
0560 
0561 target_link_libraries( labplot2nsllib
0562         Qt${QT_MAJOR_VERSION}::Core
0563         Qt${QT_MAJOR_VERSION}::Widgets  # QApplication
0564 )
0565 target_link_libraries( labplot2backendlib
0566         Qt${QT_MAJOR_VERSION}::Core
0567         Qt${QT_MAJOR_VERSION}::Gui      # QColor
0568         Qt${QT_MAJOR_VERSION}::Widgets  # QApplication
0569         Qt${QT_MAJOR_VERSION}::Network  # QLocalSocket
0570         Qt${QT_MAJOR_VERSION}::Xml      # QDomElement (Cantor)
0571         Qt${QT_MAJOR_VERSION}::PrintSupport     # QPrintDialog
0572         KF${KF_MAJOR_VERSION}::ConfigCore       # KConfigGroup
0573         KF${KF_MAJOR_VERSION}::I18n
0574         KF${KF_MAJOR_VERSION}::ConfigWidgets    # KStandardAction
0575         KF${KF_MAJOR_VERSION}::Archive  # KFilterDev
0576         KF${KF_MAJOR_VERSION}::TextWidgets      # KTextEdit
0577         ${ZLIB_LIBRARIES}
0578         ${LZ4_LIBRARIES}
0579         ${GSL_LIBRARIES}
0580         ${GSL_CBLAS_LIBRARIES}
0581         ${HDF5_LIBRARIES}
0582         ${FFTW3_LIBRARIES}
0583         ${netCDF_LIBRARIES}
0584         ${CFITSIO_LIBRARIES}
0585         ${LIBCERF_LIBRARIES}
0586         ${MATIO_LIBRARIES}
0587         ads::qt${QT_VERSION_MAJOR}advanceddocking
0588         )
0589 target_link_libraries( labplot2lib
0590         Qt${QT_MAJOR_VERSION}::Svg
0591         Qt${QT_MAJOR_VERSION}::Sql
0592         Qt${QT_MAJOR_VERSION}::PrintSupport     # QPrinter
0593 #       Qt${QT_MAJOR_VERSION}::Qml
0594 #       Qt${QT_MAJOR_VERSION}::Quick
0595 #       Qt${QT_MAJOR_VERSION}::QuickWidgets
0596         KF${KF_MAJOR_VERSION}::Completion
0597         KF${KF_MAJOR_VERSION}::Crash
0598         KF${KF_MAJOR_VERSION}::IconThemes
0599         KF${KF_MAJOR_VERSION}::KIOCore
0600         KF${KF_MAJOR_VERSION}::KIOFileWidgets
0601         KF${KF_MAJOR_VERSION}::KIOWidgets
0602         KF${KF_MAJOR_VERSION}::XmlGui
0603         KF${KF_MAJOR_VERSION}::I18n
0604         KF${KF_MAJOR_VERSION}::Archive  # KFilterDev
0605         KF${KF_MAJOR_VERSION}::TextWidgets      # KTextEdit
0606         ${Poppler_LIBRARIES}
0607         ads::qt${QT_VERSION_MAJOR}advanceddocking
0608         )
0609 
0610 IF (Qt${QT_MAJOR_VERSION}SerialPort_FOUND)
0611         target_link_libraries( labplot2backendlib Qt${QT_MAJOR_VERSION}::SerialPort )
0612         target_link_libraries( labplot2lib Qt${QT_MAJOR_VERSION}::SerialPort )
0613 ENDIF ()
0614 IF (Qt${QT_MAJOR_VERSION}Mqtt_FOUND)
0615         target_link_libraries( labplot2backendlib Qt${QT_MAJOR_VERSION}::Mqtt )
0616         target_link_libraries( labplot2lib Qt${QT_MAJOR_VERSION}::Mqtt )
0617 ENDIF ()
0618 IF (KF${KF_MAJOR_VERSION}SyntaxHighlighting_FOUND)
0619         target_link_libraries( labplot2lib KF${KF_MAJOR_VERSION}::SyntaxHighlighting )
0620 ENDIF ()
0621 if (KUserFeedback_FOUND)
0622         target_link_libraries( labplot2lib KUserFeedbackWidgets )
0623 endif ()
0624 if (KUserFeedbackQt6_FOUND)
0625         target_link_libraries( labplot2lib KUserFeedbackCoreQt6 KUserFeedbackWidgetsQt6 )
0626 endif ()
0627 IF (Discount_FOUND)
0628         target_link_libraries( labplot2lib Discount::Lib )
0629 ENDIF ()
0630 IF (Orcus_FOUND)
0631         target_link_libraries( labplot2lib ${Orcus_LIBRARIES} ${Ixion_LIBRARY} )
0632 ENDIF ()
0633 # TODO: KF6::NewStuff not found even though KF6NewStuff_FOUND
0634 IF (KF5NewStuff_FOUND)
0635         target_link_libraries( labplot2lib KF5::NewStuff )
0636 ENDIF ()
0637 IF (KF${KF_MAJOR_VERSION}Purpose_FOUND)
0638         target_link_libraries( labplot2lib KF${KF_MAJOR_VERSION}::PurposeWidgets )
0639 ENDIF ()
0640 
0641 IF (RECENT_CANTOR)
0642         # KFX::Service, KFX::Parts is optional but probably required by Cantor
0643         target_link_libraries( labplot2backendlib Cantor::cantorlibs KF${KF_MAJOR_VERSION}::Service KF${KF_MAJOR_VERSION}::Parts )
0644         target_link_libraries( labplot2lib Cantor::cantorlibs KF${KF_MAJOR_VERSION}::Service KF${KF_MAJOR_VERSION}::Parts )
0645 ENDIF ()
0646 
0647 IF (ENABLE_READSTAT)
0648         # build before using
0649         IF (BUILD_READSTAT)
0650                 add_dependencies( labplot2backendlib 3rdparty_readstat )
0651         ENDIF ()
0652         # link system readstat with iconv
0653         IF (READSTAT_FOUND)
0654                 FIND_LIBRARY ( ICONV_LIBRARIES NAMES iconv libiconv libconv-2 )
0655                 IF (ICONV_LIBRARIES)
0656                         target_link_libraries ( labplot2backendlib ${ICONV_LIBRARIES} )
0657                 ENDIF ()
0658         ENDIF ()
0659         target_link_libraries( labplot2backendlib ${READSTAT_LIBRARIES} ${ZLIB_LIBRARIES} )
0660 ENDIF ()
0661 
0662 IF (ENABLE_XLSX)
0663         # build before use
0664         IF (BUILD_QXLSX)
0665                 target_include_directories( labplot2backendlib PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/QXlsx/header" )
0666                 add_dependencies( labplot2backendlib QXlsx )
0667                 target_include_directories( labplot2lib PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/QXlsx/header" )
0668                 add_dependencies( labplot2lib QXlsx )
0669         ENDIF ()
0670 
0671         IF (QXLSX_FOUND)
0672                 target_include_directories( labplot2backendlib PRIVATE ${QXLSX_INCLUDE_DIR} )
0673                 target_include_directories( labplot2lib PRIVATE ${QXLSX_INCLUDE_DIR} )
0674         ENDIF ()
0675 
0676         IF (QXLSX_FOUND OR BUILD_QXLSX)
0677                 target_link_libraries( labplot2backendlib QXlsx )
0678         ENDIF ()
0679 ENDIF ()
0680 
0681 IF (ENABLE_LIBORIGIN)
0682         IF (LIBORIGIN_FOUND)
0683                 # if system headers are missing: use the provided
0684                 target_include_directories( labplot2backendlib PRIVATE ${LIBORIGIN_INCLUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/liborigin" )
0685                 target_link_libraries( labplot2backendlib ${LIBORIGIN_LIBRARIES} )
0686                 target_include_directories( labplot2lib PRIVATE ${LIBORIGIN_INCLUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/liborigin" )
0687         ELSE () # own version
0688                 target_include_directories( labplot2backendlib PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/liborigin" )
0689                 target_link_libraries( labplot2backendlib liborigin-static )
0690                 target_include_directories( labplot2lib PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/liborigin" )
0691         ENDIF()
0692 ENDIF ()
0693 IF (PSAPI)
0694         target_link_libraries( labplot2lib ${PSAPI} )
0695 ENDIF ()
0696 
0697 IF (APPLE AND ENABLE_TOUCHBAR)
0698         target_link_libraries( labplot2lib KDMacTouchBar )
0699 ENDIF ()
0700 
0701 
0702 # icons for the executable and project files on Windows and Mac OS X
0703 
0704 set(LABPLOT_ICONS
0705     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/16-apps-labplot2.png
0706     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/32-apps-labplot2.png
0707     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/48-apps-labplot2.png
0708     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/64-apps-labplot2.png
0709     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/128-apps-labplot2.png
0710     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/256-apps-labplot2.png
0711     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/512-apps-labplot2.png
0712 )
0713 set(LML_ICONS
0714     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/16-application-x-labplot2.png
0715     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/32-application-x-labplot2.png
0716     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/48-application-x-labplot2.png
0717     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/64-application-x-labplot2.png
0718     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/128-application-x-labplot2.png
0719     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/256-application-x-labplot2.png
0720     ${CMAKE_CURRENT_SOURCE_DIR}/../icons/512-application-x-labplot2.png
0721 )
0722 
0723 add_subdirectory(3rdparty)
0724 
0725 # main executable
0726 set(LABPLOT_SOURCE ${KDEFRONTEND_DIR}/LabPlot.cpp)
0727 
0728 # create icon files on WIN/MAC and add icons to the executable
0729 IF (${ECM_VERSION} VERSION_GREATER "5.48.0")
0730         # creates LABPLOT_ICONS.ico/LABPLOT_ICONS.icns
0731         ecm_add_app_icon(LABPLOT_SOURCE ICONS ${LABPLOT_ICONS} OUTFILE_BASENAME LABPLOT_ICONS)
0732 ELSE ()
0733         # creates LABPLOT_SOURCE.ico/LABPLOT_SOURCE.icns
0734         ecm_add_app_icon(LABPLOT_SOURCE ICONS ${LABPLOT_ICONS})
0735 ENDIF ()
0736 
0737 # create LML_ICONS.icns on MACOSX
0738 IF (APPLE AND ${ECM_VERSION} VERSION_GREATER "5.48.0")
0739         ecm_add_app_icon(LABPLOT_SOURCE ICONS ${LML_ICONS} OUTFILE_BASENAME LML_ICONS)
0740 ENDIF ()
0741 
0742 add_executable( labplot2 ${LABPLOT_SOURCE} ${GUI_QRC} ${qml_QRC} )
0743 target_link_libraries( labplot2 labplot2lib labplot2backendlib labplot2nsllib )
0744 #if (KUserFeedbackQt6_FOUND)
0745 #       target_link_libraries( labplot2 KUserFeedbackCoreQt6 KUserFeedbackWidgetsQt6 )
0746 #endif ()
0747 target_compile_definitions(labplot2 PRIVATE ${LABPLOT_COMPILE_DEFINITIONS})
0748 
0749 ############## installation ################################
0750 install( TARGETS labplot2 ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0751 install( FILES ${KDEFRONTEND_DIR}/splash.png ${KDEFRONTEND_DIR}/labplot2.ico ${CMAKE_CURRENT_SOURCE_DIR}/../icons/application-x-labplot2.ico DESTINATION ${KDE_INSTALL_DATADIR}/${PROJECT_NAME} )
0752 install( FILES org.kde.labplot2.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
0753 install( FILES labplot2.xml DESTINATION ${KDE_INSTALL_MIMEDIR} )
0754 # if (${ECM_VERSION} VERSION_GREATER "5.58.0")
0755 #       install( FILES labplot2_themes.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
0756 #       install( FILES labplot2_datasets.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
0757 # else ()
0758 #       install( FILES labplot2_themes.knsrc DESTINATION ${KDE_INSTALL_CONFDIR} )
0759 #       install( FILES labplot2_datasets.knsrc DESTINATION ${KDE_INSTALL_CONFDIR} )
0760 # endif ()
0761 update_xdg_mimetypes( ${KDE_INSTALL_MIMEDIR} )