2
0

CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. set(LIB_PRIVATE_LIBRARIES Qt5::Qml
  24. KF5::Auth
  25. KF5::ConfigCore
  26. KF5::I18n)
  27. set(LIB_PUBLIC_LIBRARIES Qt5::Core)
  28. if(NOT NO_SYSTEMD)
  29. set(LIB_SRCS ${LIB_SRCS}
  30. src/systemdcommunicator.cpp)
  31. set(LIB_PRIVATE_LIBRARIES ${LIB_PRIVATE_LIBRARIES}
  32. Qt5::DBus)
  33. find_package(Qt5DBus REQUIRED)
  34. include_directories(${Qt5DBus_INCLUDE_DIRS})
  35. endif(NOT NO_SYSTEMD)
  36. find_package(Qt5Qml REQUIRED)
  37. find_package(KF5 COMPONENTS Auth Config REQUIRED)
  38. include_directories(${Qt5Qml_INCLUDE_DIRS})
  39. add_library(fancontrol_qml_plugin SHARED ${LIB_SRCS})
  40. target_link_libraries(fancontrol_qml_plugin PRIVATE ${LIB_PRIVATE_LIBRARIES} PUBLIC ${LIB_PUBLIC_LIBRARIES})
  41. install(TARGETS fancontrol_qml_plugin DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  42. install(FILES ${QML_FILES} DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  43. #install qmltypes file
  44. include(ECMGenerateQmlTypes)
  45. ecm_generate_qmltypes(Fancontrol.Qml 1.0 DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  46. #tests
  47. if(BUILD_TESTING)
  48. add_subdirectory(tests)
  49. endif(BUILD_TESTING)