CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. set(LIB_SRCS src/hwmon.cpp
  2. src/sensor.cpp
  3. src/temp.cpp
  4. src/fan.cpp
  5. src/pwmfan.cpp
  6. src/loader.cpp
  7. src/guibase.cpp
  8. src/config.cpp
  9. src/pwmfanmodel.cpp
  10. src/tempmodel.cpp
  11. src/fancontrolqmlextension.cpp)
  12. set(QML_FILES qml/qmldir
  13. qml/ErrorDialog.qml
  14. qml/OptionInput.qml
  15. qml/FanItem.qml
  16. qml/PwmPoint.qml
  17. qml/StatusPoint.qml
  18. qml/colors.js
  19. qml/math.js
  20. qml/units.js)
  21. set(LIB_PRIVATE_LIBRARIES Qt5::Qml
  22. KF5::Auth
  23. KF5::ConfigCore
  24. KF5::I18n)
  25. set(LIB_PUBLIC_LIBRARIES Qt5::Core)
  26. if(NOT NO_SYSTEMD)
  27. set(LIB_SRCS ${LIB_SRCS}
  28. src/systemdcommunicator.cpp)
  29. set(LIB_PRIVATE_LIBRARIES ${LIB_PRIVATE_LIBRARIES}
  30. Qt5::DBus)
  31. find_package(Qt5DBus REQUIRED)
  32. include_directories(${Qt5DBus_INCLUDE_DIRS})
  33. endif(NOT NO_SYSTEMD)
  34. find_package(Qt5Qml REQUIRED)
  35. find_package(KF5 COMPONENTS Auth Config REQUIRED)
  36. include_directories(${Qt5Qml_INCLUDE_DIRS})
  37. add_library(fancontrol_qml_plugin SHARED ${LIB_SRCS})
  38. target_link_libraries(fancontrol_qml_plugin PRIVATE ${LIB_PRIVATE_LIBRARIES} PUBLIC ${LIB_PUBLIC_LIBRARIES})
  39. install(TARGETS fancontrol_qml_plugin DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/qt/qml/Fancontrol/Qml/")
  40. install(FILES ${QML_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/qt/qml/Fancontrol/Qml/")
  41. ecm_generate_qmltypes(Fancontrol.Qml 1.0 DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  42. #tests
  43. if(BUILD_TESTING)
  44. add_subdirectory(tests)
  45. endif(BUILD_TESTING)