CMakeLists.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. project(dolphin-owncloud)
  2. cmake_minimum_required(VERSION 3.16)
  3. set(QT_MIN_VERSION "5.15.0")
  4. set(KF5_MIN_VERSION "5.16.0")
  5. set(KDE_INSTALL_USE_QT_SYS_PATHS ON CACHE BOOL "Install the plugin in the right directory")
  6. find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Network)
  7. find_package(ECM ${KF5_MIN_VERSION} REQUIRED CONFIG)
  8. set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
  9. find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS CoreAddons KIO)
  10. set(KDE_INSTALL_DIRS_NO_DEPRECATED TRUE)
  11. include(KDEInstallDirs)
  12. # Before KF5 5.54, kcoreaddons_add_plugin uses deprecated VAR PLUGIN_INSTALL_DIR
  13. # when that is fixed and you want to remove this workaround,
  14. # you need to _require_ the new enough kcoreaddons
  15. set(PLUGIN_INSTALL_DIR "${KDE_INSTALL_PLUGINDIR}")
  16. include(KDECMakeSettings)
  17. include(KDECompilerSettings)
  18. add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
  19. #---HELPER---
  20. set(OWNCLOUDDOLPHINHELPER ${APPLICATION_EXECUTABLE}dolphinpluginhelper)
  21. add_library(${OWNCLOUDDOLPHINHELPER} SHARED
  22. ownclouddolphinpluginhelper.h
  23. ownclouddolphinpluginhelper.cpp)
  24. target_link_libraries(${OWNCLOUDDOLPHINHELPER} Qt5::Network)
  25. generate_export_header(${OWNCLOUDDOLPHINHELPER} BASE_NAME ownclouddolphinpluginhelper)
  26. install(TARGETS ${OWNCLOUDDOLPHINHELPER} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
  27. #---OVERLAY PLUGIN---
  28. set(OWNCLOUDDOLPHINOVERLAYPLUGIN ${APPLICATION_EXECUTABLE}dolphinoverlayplugin)
  29. kcoreaddons_add_plugin(${OWNCLOUDDOLPHINOVERLAYPLUGIN} INSTALL_NAMESPACE "kf5/overlayicon"
  30. JSON ownclouddolphinoverlayplugin.json SOURCES ownclouddolphinoverlayplugin.cpp)
  31. target_link_libraries(${OWNCLOUDDOLPHINOVERLAYPLUGIN} KF5::CoreAddons KF5::KIOCore KF5::KIOWidgets ${OWNCLOUDDOLPHINHELPER})
  32. #---ACTION PLUGIN---
  33. set(OWNCLOUDDOLPHINACTIONPLUGIN ${APPLICATION_EXECUTABLE}dolphinactionplugin)
  34. configure_file(ownclouddolphinactionplugin.desktop.in ${OWNCLOUDDOLPHINACTIONPLUGIN}.desktop ESCAPE_QUOTES @ONLY)
  35. kcoreaddons_add_plugin(${OWNCLOUDDOLPHINACTIONPLUGIN} INSTALL_NAMESPACE "kf5/kfileitemaction"
  36. SOURCES ownclouddolphinactionplugin.cpp)
  37. target_link_libraries(${OWNCLOUDDOLPHINACTIONPLUGIN} KF5::CoreAddons KF5::KIOCore KF5::KIOWidgets ${OWNCLOUDDOLPHINHELPER})
  38. kcoreaddons_desktop_to_json(${OWNCLOUDDOLPHINACTIONPLUGIN} ${CMAKE_CURRENT_BINARY_DIR}/${OWNCLOUDDOLPHINACTIONPLUGIN}.desktop)