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

0001 cmake_policy(SET CMP0079 NEW)
0002 
0003 set(KDEFRONTEND_DIR ../src/kdefrontend)
0004 set(BACKEND_DIR ../src/backend)
0005 set(COMMONFRONTEND_DIR ../src/commonfrontend)
0006 set(TOOLS_DIR ../src/tools)
0007 set(CMAKE_AUTOMOC ON)
0008 set(SRC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
0009 add_definitions (-DSDK)
0010 
0011 include(GenerateExportHeader)
0012 
0013 # do not process these files
0014 set_property(SOURCE gsl_parser.hpp gsl_parser.cpp PROPERTY SKIP_AUTOMOC ON)
0015 
0016 set(GUI_SOURCES
0017         ${KDEFRONTEND_DIR}/GuiTools.cpp
0018         ${KDEFRONTEND_DIR}/ThemeHandler.cpp)
0019 
0020 set(BACKEND_SOURCES
0021         ${BACKEND_DIR}/core/Folder.cpp
0022         ${BACKEND_DIR}/core/AbstractAspect.cpp
0023         ${BACKEND_DIR}/core/AbstractColumn.cpp
0024         ${BACKEND_DIR}/core/AbstractColumnPrivate.cpp
0025         ${BACKEND_DIR}/core/abstractcolumncommands.cpp
0026         ${BACKEND_DIR}/core/AbstractFilter.cpp
0027         ${BACKEND_DIR}/core/AbstractSimpleFilter.cpp
0028         ${BACKEND_DIR}/core/column/Column.cpp
0029         ${BACKEND_DIR}/core/column/ColumnPrivate.cpp
0030         ${BACKEND_DIR}/core/column/ColumnStringIO.cpp
0031         ${BACKEND_DIR}/core/column/columncommands.cpp
0032         ${BACKEND_DIR}/core/Project.cpp
0033         ${BACKEND_DIR}/core/AbstractPart.cpp
0034         ${BACKEND_DIR}/core/AspectTreeModel.cpp
0035         ${BACKEND_DIR}/core/datatypes/SimpleCopyThroughFilter.h
0036         ${BACKEND_DIR}/core/datatypes/Double2DateTimeFilter.h
0037         ${BACKEND_DIR}/core/datatypes/Double2DayOfWeekFilter.h
0038         ${BACKEND_DIR}/core/datatypes/Double2IntegerFilter.h
0039         ${BACKEND_DIR}/core/datatypes/Double2BigIntFilter.h
0040         ${BACKEND_DIR}/core/datatypes/Double2MonthFilter.h
0041         ${BACKEND_DIR}/core/datatypes/Double2StringFilter.cpp
0042         ${BACKEND_DIR}/core/datatypes/Integer2DoubleFilter.h
0043         ${BACKEND_DIR}/core/datatypes/Integer2BigIntFilter.h
0044         ${BACKEND_DIR}/core/datatypes/Integer2DateTimeFilter.h
0045         ${BACKEND_DIR}/core/datatypes/Integer2DayOfWeekFilter.h
0046         ${BACKEND_DIR}/core/datatypes/Integer2MonthFilter.h
0047         ${BACKEND_DIR}/core/datatypes/Integer2StringFilter.h
0048         ${BACKEND_DIR}/core/datatypes/BigInt2DoubleFilter.h
0049         ${BACKEND_DIR}/core/datatypes/BigInt2IntegerFilter.h
0050         ${BACKEND_DIR}/core/datatypes/BigInt2StringFilter.h
0051         ${BACKEND_DIR}/core/datatypes/BigInt2DateTimeFilter.h
0052         ${BACKEND_DIR}/core/datatypes/BigInt2MonthFilter.h
0053         ${BACKEND_DIR}/core/datatypes/BigInt2DayOfWeekFilter.h
0054         ${BACKEND_DIR}/core/datatypes/String2DayOfWeekFilter.h
0055         ${BACKEND_DIR}/core/datatypes/String2DoubleFilter.h
0056         ${BACKEND_DIR}/core/datatypes/String2IntegerFilter.h
0057         ${BACKEND_DIR}/core/datatypes/String2BigIntFilter.h
0058         ${BACKEND_DIR}/core/datatypes/String2MonthFilter.h
0059         ${BACKEND_DIR}/core/datatypes/String2DateTimeFilter.cpp
0060         ${BACKEND_DIR}/core/datatypes/DateTime2DoubleFilter.h
0061         ${BACKEND_DIR}/core/datatypes/DateTime2IntegerFilter.h
0062         ${BACKEND_DIR}/core/datatypes/DateTime2BigIntFilter.h
0063         ${BACKEND_DIR}/core/datatypes/DateTime2StringFilter.cpp
0064         ${BACKEND_DIR}/core/datatypes/Month2DoubleFilter.h
0065         ${BACKEND_DIR}/core/datatypes/Month2IntegerFilter.h
0066         ${BACKEND_DIR}/core/datatypes/Month2BigIntFilter.h
0067         ${BACKEND_DIR}/core/datatypes/DayOfWeek2DoubleFilter.h
0068         ${BACKEND_DIR}/core/datatypes/DayOfWeek2IntegerFilter.h
0069         ${BACKEND_DIR}/core/datatypes/DayOfWeek2BigIntFilter.h
0070         ${BACKEND_DIR}/datasources/AbstractDataSource.cpp
0071         ${BACKEND_DIR}/gsl/ExpressionParser.cpp
0072         ${BACKEND_DIR}/lib/Range.cpp
0073         ${BACKEND_DIR}/lib/XmlStreamReader.cpp
0074         ${BACKEND_DIR}/lib/SignallingUndoCommand.cpp
0075         ${BACKEND_DIR}/spreadsheet/Spreadsheet.cpp
0076         ${BACKEND_DIR}/spreadsheet/SpreadsheetModel.cpp
0077         ${BACKEND_DIR}/worksheet/Image.cpp
0078         ${BACKEND_DIR}/worksheet/ResizeItem.cpp
0079         ${BACKEND_DIR}/worksheet/WorksheetElement.cpp
0080         ${BACKEND_DIR}/worksheet/TextLabel.cpp
0081         ${BACKEND_DIR}/worksheet/InfoElement.cpp
0082         ${BACKEND_DIR}/worksheet/Worksheet.cpp
0083         ${BACKEND_DIR}/worksheet/WorksheetElementContainer.cpp
0084         ${BACKEND_DIR}/worksheet/TreeModel.cpp
0085         ${BACKEND_DIR}/worksheet/plots/AbstractPlot.cpp
0086         ${BACKEND_DIR}/worksheet/plots/AbstractCoordinateSystem.cpp
0087         ${BACKEND_DIR}/worksheet/plots/PlotArea.cpp
0088         ${BACKEND_DIR}/worksheet/plots/cartesian/Axis.cpp
0089         ${BACKEND_DIR}/worksheet/plots/cartesian/BoxPlot.cpp
0090         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianScale.cpp
0091         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianCoordinateSystem.cpp
0092         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianPlot.cpp
0093         ${BACKEND_DIR}/worksheet/plots/cartesian/CartesianPlotLegend.cpp
0094         ${BACKEND_DIR}/worksheet/plots/cartesian/Curve.cpp
0095         ${BACKEND_DIR}/worksheet/plots/cartesian/Histogram.cpp
0096         ${BACKEND_DIR}/worksheet/plots/cartesian/CustomPoint.cpp
0097         ${BACKEND_DIR}/worksheet/plots/cartesian/ReferenceLine.cpp
0098         ${BACKEND_DIR}/worksheet/plots/cartesian/Symbol.cpp
0099         ${BACKEND_DIR}/worksheet/plots/cartesian/XYAnalysisCurve.cpp
0100         ${BACKEND_DIR}/worksheet/plots/cartesian/XYCurve.cpp
0101         ${BACKEND_DIR}/worksheet/plots/cartesian/XYEquationCurve.cpp
0102         ${BACKEND_DIR}/worksheet/plots/cartesian/XYDataReductionCurve.cpp
0103         ${BACKEND_DIR}/worksheet/plots/cartesian/XYDifferentiationCurve.cpp
0104         ${BACKEND_DIR}/worksheet/plots/cartesian/XYIntegrationCurve.cpp
0105         ${BACKEND_DIR}/worksheet/plots/cartesian/XYInterpolationCurve.cpp
0106         ${BACKEND_DIR}/worksheet/plots/cartesian/XYSmoothCurve.cpp
0107         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFitCurve.cpp
0108         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFourierFilterCurve.cpp
0109         ${BACKEND_DIR}/worksheet/plots/cartesian/XYFourierTransformCurve.cpp
0110         ${BACKEND_DIR}/worksheet/plots/cartesian/XYHilbertTransformCurve.cpp
0111         ${BACKEND_DIR}/worksheet/plots/cartesian/XYConvolutionCurve.cpp
0112         ${BACKEND_DIR}/worksheet/plots/cartesian/XYCorrelationCurve.cpp
0113 )
0114 
0115 set(NSL_SOURCES
0116         ${BACKEND_DIR}/nsl/nsl_conv.c
0117         ${BACKEND_DIR}/nsl/nsl_corr.c
0118         ${BACKEND_DIR}/nsl/nsl_dft.c
0119         ${BACKEND_DIR}/nsl/nsl_diff.c
0120         ${BACKEND_DIR}/nsl/nsl_filter.c
0121         ${BACKEND_DIR}/nsl/nsl_fit.c
0122         ${BACKEND_DIR}/nsl/nsl_geom.c
0123         ${BACKEND_DIR}/nsl/nsl_geom_linesim.c
0124         ${BACKEND_DIR}/nsl/nsl_hilbert.c
0125         ${BACKEND_DIR}/nsl/nsl_int.c
0126         ${BACKEND_DIR}/nsl/nsl_interp.c
0127         ${BACKEND_DIR}/nsl/nsl_kde.c
0128         ${BACKEND_DIR}/nsl/nsl_math.c
0129         ${BACKEND_DIR}/nsl/nsl_sf_basic.c
0130         ${BACKEND_DIR}/nsl/nsl_sf_kernel.c
0131         ${BACKEND_DIR}/nsl/nsl_sf_poly.c
0132         ${BACKEND_DIR}/nsl/nsl_sf_stats.c
0133         ${BACKEND_DIR}/nsl/nsl_sf_window.c
0134         ${BACKEND_DIR}/nsl/nsl_smooth.c
0135         ${BACKEND_DIR}/nsl/nsl_sort.c
0136         ${BACKEND_DIR}/nsl/nsl_stats.c
0137 )
0138 
0139 set(TOOLS_SOURCES
0140         ${TOOLS_DIR}/ImageTools.cpp
0141         ${TOOLS_DIR}/TeXRenderer.cpp
0142 )
0143 
0144 
0145 IF (NOT MSVC_FOUND)
0146 IF (NOT LIBCERF_FOUND)
0147         list(APPEND NSL_SOURCES
0148                 ${BACKEND_DIR}/nsl/Faddeeva.c
0149         )
0150 ENDIF ()
0151 ENDIF ()
0152 
0153 set(COMMONFRONTEND_SOURCES
0154         ${COMMONFRONTEND_DIR}/worksheet/WorksheetView.cpp
0155 )
0156 
0157 bison_target(GslParser
0158         ${BACKEND_DIR}/gsl/parser.y
0159         ${CMAKE_CURRENT_BINARY_DIR}/gsl_parser.cpp
0160 )
0161 set(GENERATED_SOURCES
0162         ${BISON_GslParser_OUTPUTS}
0163 )
0164 
0165 ##############################################################################
0166 add_definitions (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS})
0167 INCLUDE_DIRECTORIES( ../src/ ${BACKEND_DIR}/gsl ${GSL_INCLUDE_DIR} )
0168 
0169 # see also QT_MIN_VERSION
0170 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x50500)
0171 
0172 # dynamic library
0173 add_library(labplot ${GUI_SOURCES} ${BACKEND_SOURCES} ${NSL_SOURCES} ${COMMONFRONTEND_SOURCES} ${TOOLS_SOURCES} ${GENERATED_SOURCES} ${QTMOC_HDRS})
0174 generate_export_header(labplot)
0175 
0176 target_link_libraries( labplot
0177         KF${KF_MAJOR_VERSION}::Archive
0178         KF${KF_MAJOR_VERSION}::ConfigCore
0179         KF${KF_MAJOR_VERSION}::ConfigWidgets
0180         KF${KF_MAJOR_VERSION}::I18n
0181         KF${KF_MAJOR_VERSION}::KIOCore
0182         Qt${QT_MAJOR_VERSION}::Svg
0183         Qt${QT_MAJOR_VERSION}::Core
0184         Qt${QT_MAJOR_VERSION}::Gui
0185         Qt${QT_MAJOR_VERSION}::Widgets
0186         Qt${QT_MAJOR_VERSION}::PrintSupport
0187         ${GSL_LIBRARIES}
0188         ${GSL_CBLAS_LIBRARIES}
0189         ${FFTW3_LIBRARIES}
0190         ${LIBCERF_LIBRARIES} )
0191 
0192 IF (Discount_FOUND)
0193         target_link_libraries( labplot Discount::Lib )
0194 ENDIF ()
0195 
0196 IF (WIN32)
0197         target_link_libraries( labplot ${PSAPI} )
0198 ENDIF ()
0199 
0200 ############## installation ################################
0201 install( TARGETS labplot DESTINATION ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} )
0202 
0203 
0204 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/labplot_export.h  DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot COMPONENT Devel)
0205 
0206 install( FILES labplot.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/ COMPONENT Devel )
0207 install( FILES ../src/backend/core/AbstractAspect.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/core/ COMPONENT Devel )
0208 install( FILES ../src/backend/core/AbstractColumn.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/core/ COMPONENT Devel )
0209 install( FILES ../src/backend/core/AbstractPart.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/core/ COMPONENT Devel )
0210 install( FILES ../src/backend/core/column/Column.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/core/column/ COMPONENT Devel )
0211 install( FILES ../src/backend/core/column/ColumnPrivate.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/core/column/ COMPONENT Devel )
0212 install( FILES ../src/backend/gsl/parser.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/gsl/ COMPONENT Devel )
0213 install( FILES ../src/backend/lib/Interval.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/lib/ COMPONENT Devel )
0214 install( FILES ../src/backend/lib/IntervalAttribute.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/lib/ COMPONENT Devel )
0215 install( FILES ../src/backend/lib/macros.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/lib/ COMPONENT Devel )
0216 install( FILES ../src/backend/lib/macrosXYCurve.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/lib/ COMPONENT Devel )
0217 install( FILES ../src/backend/lib/commandtemplates.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/lib/ COMPONENT Devel )
0218 install( FILES ../src/backend/lib/Range.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/lib/ COMPONENT Devel )
0219 install( FILES ../src/backend/nsl/nsl_fit.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/nsl/ COMPONENT Devel )
0220 install( FILES ../src/backend/nsl/nsl_math.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/nsl/ COMPONENT Devel )
0221 install( FILES ../src/backend/worksheet/Worksheet.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/ COMPONENT Devel )
0222 install( FILES ../src/backend/worksheet/WorksheetElement.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/ COMPONENT Devel )
0223 install( FILES ../src/backend/worksheet/WorksheetElementContainer.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/ COMPONENT Devel )
0224 install( FILES ../src/backend/worksheet/plots/AbstractPlot.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/ COMPONENT Devel )
0225 install( FILES ../src/backend/worksheet/plots/PlotArea.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/ COMPONENT Devel )
0226 install( FILES ../src/backend/worksheet/plots/cartesian/Axis.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0227 install( FILES ../src/backend/worksheet/plots/cartesian/BoxPlot.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0228 install( FILES ../src/backend/worksheet/plots/cartesian/CartesianPlot.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0229 install( FILES ../src/backend/worksheet/plots/cartesian/CartesianPlotLegend.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0230 install( FILES ../src/backend/worksheet/plots/cartesian/Curve.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0231 install( FILES ../src/backend/worksheet/plots/cartesian/Histogram.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0232 install( FILES ../src/backend/worksheet/plots/cartesian/XYCurve.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0233 install( FILES ../src/backend/worksheet/plots/cartesian/XYAnalysisCurve.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0234 install( FILES ../src/backend/worksheet/plots/cartesian/XYEquationCurve.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )
0235 install( FILES ../src/backend/worksheet/plots/cartesian/XYFitCurve.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/labplot/backend/worksheet/plots/cartesian/ COMPONENT Devel )