CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. qml.qrc
  15. audio.qrc
  16. data.qrc
  17. qcustomplot.cpp
  18. qcustomplot.h
  19. timedomainplot.cpp
  20. timedomainplot.h
  21. audiowaveform.cpp
  22. audiowaveform.h
  23. spectrum.cpp
  24. spectrum.h
  25. )
  26. link_libraries(
  27. opengl32
  28. glu32
  29. )
  30. add_executable(QmlCustomPlot
  31. ${PROJECT_SOURCES}
  32. )
  33. find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Quick Widgets PrintSupport OpenGL Multimedia)
  34. find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Quick Widgets PrintSupport OpenGL Multimedia)
  35. target_link_libraries(QmlCustomPlot
  36. PRIVATE
  37. Qt${QT_VERSION_MAJOR}::Core
  38. Qt${QT_VERSION_MAJOR}::Quick
  39. Qt${QT_VERSION_MAJOR}::Widgets
  40. Qt${QT_VERSION_MAJOR}::PrintSupport
  41. Qt${QT_VERSION_MAJOR}::OpenGL ${OPENGL_gl_LIBRARY}
  42. Qt${QT_VERSION_MAJOR}::Multimedia
  43. )
  44. set_target_properties(QmlCustomPlot PROPERTIES
  45. WIN32_EXECUTABLE TRUE
  46. )