CMakeLists.txt 1.4 KB

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