CMakeLists.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. cmake_minimum_required(VERSION 3.0.0)
  2. project(fancontroller)
  3. include(FeatureSummary)
  4. option(NO_KF5_AUTH "Compile without KF5-Auth. Program will be unable to execute commands as root!")
  5. option(NO_SYSTEMD "Compile without Systemd support. Reduces functionality significantly!")
  6. #Find Qt5
  7. find_package(Qt5 COMPONENTS Widgets Qml Quick REQUIRED)
  8. include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5Qml_INCLUDE_DIRS} ${Qt5Quick_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR})
  9. add_definitions(${Qt5Widgets_DEFINITIONS})
  10. set(CMAKE_AUTOMOC ON)
  11. # Silence a warning
  12. cmake_policy(SET CMP0037 OLD)
  13. #Find KF5
  14. find_package(ECM)
  15. set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
  16. find_package(KF5Auth)
  17. find_package(Qt5DBus)
  18. feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
  19. #KF5_Auth
  20. if(ECM_FOUND AND KF5Auth_FOUND AND NOT NO_KF5_AUTH)
  21. message(STATUS "Compiling with KF5_AUTH")
  22. include(KDEInstallDirs)
  23. include(KDECMakeSettings)
  24. include(KDECompilerSettings)
  25. add_subdirectory(helper)
  26. else(ECM_FOUND AND KF5Auth_FOUND AND NOT NO_KF5_AUTH)
  27. message(STATUS "Compiling without KF5_AUTH")
  28. set(NO_KF5_AUTH true)
  29. endif(ECM_FOUND AND KF5Auth_FOUND AND NOT NO_KF5_AUTH)
  30. #Systemd
  31. find_library(SYSTEMD_FOUND NAMES systemd)
  32. if(NOT NO_SYSTEMD AND SYSTEMD_FOUND)
  33. message(STATUS "Compiling for Systemd")
  34. include_directories(${Qt5DBus_INCLUDE_DIRS})
  35. else(NOT NO_SYSTEMD AND SYSTEMD_FOUND)
  36. message(STATUS "Compiling without Systemd")
  37. set(NO_SYSTEMD true)
  38. endif(NOT NO_SYSTEMD AND SYSTEMD_FOUND)
  39. add_subdirectory(share)
  40. add_subdirectory(fancontrol-gui)