CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  40. install(FILES ${QML_FILES} DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  41. if(${KF5_VERSION} VERSION_GREATER_EQUAL 5.33.0)
  42. ecm_generate_qmltypes(Fancontrol.Qml 1.0 DESTINATION "${KDE_INSTALL_QMLDIR}/Fancontrol/Qml/")
  43. endif(${KF5_VERSION} VERSION_GREATER_EQUAL 5.33.0)
  44. #tests
  45. if(BUILD_TESTING)
  46. add_subdirectory(tests)
  47. endif(BUILD_TESTING)