CMakeLists.txt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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/FanControls.qml
  15. qml/FanHeader.qml
  16. qml/FanItem.qml
  17. qml/PwmPoint.qml
  18. qml/ProfilesDialog.qml
  19. qml/SettingsForm.qml
  20. qml/StatusPoint.qml
  21. qml/colors.js
  22. qml/math.js
  23. qml/units.js)
  24. set(LIB_PRIVATE_LIBRARIES Qt5::Qml
  25. KF5::Auth
  26. KF5::ConfigCore
  27. KF5::I18n)
  28. set(LIB_PUBLIC_LIBRARIES Qt5::Core)
  29. if(NOT NO_SYSTEMD)
  30. set(LIB_SRCS ${LIB_SRCS}
  31. src/systemdcommunicator.cpp)
  32. set(LIB_PRIVATE_LIBRARIES ${LIB_PRIVATE_LIBRARIES}
  33. Qt5::DBus)
  34. find_package(Qt5DBus REQUIRED)
  35. include_directories(${Qt5DBus_INCLUDE_DIRS})
  36. endif(NOT NO_SYSTEMD)
  37. find_package(Qt5Qml REQUIRED)
  38. find_package(KF5 COMPONENTS Auth Config REQUIRED)
  39. include_directories(${Qt5Qml_INCLUDE_DIRS})
  40. add_library(fancontrol_qml_plugin SHARED ${LIB_SRCS})
  41. target_link_libraries(fancontrol_qml_plugin PRIVATE ${LIB_PRIVATE_LIBRARIES} PUBLIC ${LIB_PUBLIC_LIBRARIES})
  42. install(TARGETS fancontrol_qml_plugin DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  43. install(FILES ${QML_FILES} DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  44. #install qmltypes file
  45. include(ECMGenerateQmlTypes)
  46. ecm_generate_qmltypes(Fancontrol.Qml 1.0 DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  47. #tests
  48. if(BUILD_TESTING)
  49. add_subdirectory(tests)
  50. endif(BUILD_TESTING)