CMakeLists.txt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. cmake_minimum_required(VERSION 3.14)
  2. project(QmlCustomPlot VERSION 0.1 LANGUAGES CXX C)
  3. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  4. set(CMAKE_AUTOUIC ON)
  5. set(CMAKE_AUTOMOC ON)
  6. set(CMAKE_AUTORCC ON)
  7. set(CMAKE_CXX_STANDARD 11)
  8. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  9. add_definitions(
  10. -DQCUSTOMPLOT_USE_OPENGL
  11. )
  12. set(PROJECT_SOURCES
  13. main.cpp
  14. thirdparty/qcustomplot/qcustomplot.h
  15. thirdparty/qcustomplot/qcustomplot.cpp
  16. qquickitem/timedomainplot.cpp
  17. qquickitem/timedomainplot.h
  18. qquickitem/audiowaveform.cpp
  19. qquickitem/audiowaveform.h
  20. qquickitem/spectrum.cpp
  21. qquickitem/spectrum.h
  22. )
  23. set(PROJECT_RESOURCES
  24. resources/qml.qrc
  25. resources/audio.qrc
  26. resources/conf.qrc
  27. resources/other.qrc
  28. )
  29. link_libraries(
  30. opengl32
  31. glu32
  32. )
  33. add_executable(QmlCustomPlot
  34. ${PROJECT_SOURCES}
  35. ${PROJECT_RESOURCES}
  36. )
  37. find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Quick Widgets PrintSupport OpenGL Multimedia)
  38. find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Quick Widgets PrintSupport OpenGL Multimedia)
  39. target_link_libraries(QmlCustomPlot
  40. PRIVATE
  41. Qt${QT_VERSION_MAJOR}::Core
  42. Qt${QT_VERSION_MAJOR}::Quick
  43. Qt${QT_VERSION_MAJOR}::Widgets
  44. Qt${QT_VERSION_MAJOR}::PrintSupport
  45. Qt${QT_VERSION_MAJOR}::OpenGL ${OPENGL_gl_LIBRARY}
  46. Qt${QT_VERSION_MAJOR}::Multimedia
  47. )
  48. set_target_properties(QmlCustomPlot PROPERTIES
  49. WIN32_EXECUTABLE TRUE
  50. )