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} )