FindKDE4.cmake 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # Find KDE4 and provide all necessary variables and macros to compile software for it.
  2. # It looks for KDE 4 in the following directories in the given order:
  3. # CMAKE_INSTALL_PREFIX
  4. # KDEDIRS
  5. # /opt/kde4
  6. #
  7. # Please look in FindKDE4Internal.cmake and KDE4Macros.cmake for more information.
  8. # They are installed with the KDE 4 libraries in $KDEDIRS/share/apps/cmake/modules/.
  9. #
  10. # Author: Alexander Neundorf <[email protected]>
  11. FILE(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
  12. # For KDE4 kde-config has been renamed to kde4-config
  13. FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
  14. PATHS
  15. ${CMAKE_INSTALL_PREFIX}/bin
  16. ${_KDEDIRS}
  17. /opt/kde4/bin
  18. NO_DEFAULT_PATH
  19. )
  20. IF (NOT KDE4_KDECONFIG_EXECUTABLE)
  21. FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config )
  22. ENDIF (NOT KDE4_KDECONFIG_EXECUTABLE)
  23. IF (KDE4_KDECONFIG_EXECUTABLE)
  24. # then ask kde4-config for the kde data dirs
  25. EXEC_PROGRAM(${KDE4_KDECONFIG_EXECUTABLE} ARGS --path data OUTPUT_VARIABLE _data_DIR )
  26. FILE(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
  27. # then check the data dirs for FindKDE4Internal.cmake
  28. FIND_PATH(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake ${_data_DIR})
  29. # if it has been found...
  30. IF (KDE4_DATA_DIR)
  31. SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
  32. IF (KDE4_FIND_QUIETLY)
  33. SET(_quiet QUIET)
  34. ENDIF (KDE4_FIND_QUIETLY)
  35. IF (KDE4_FIND_REQUIRED)
  36. SET(_req REQUIRED)
  37. ENDIF (KDE4_FIND_REQUIRED)
  38. # use FindKDE4Internal.cmake to do the rest
  39. FIND_PACKAGE(KDE4Internal ${_req} ${_quiet})
  40. ELSE (KDE4_DATA_DIR)
  41. IF (KDE4_FIND_REQUIRED)
  42. MESSAGE(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
  43. ENDIF (KDE4_FIND_REQUIRED)
  44. ENDIF (KDE4_DATA_DIR)
  45. ELSE (KDE4_KDECONFIG_EXECUTABLE)
  46. IF (KDE4_FIND_REQUIRED)
  47. MESSAGE(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
  48. ENDIF (KDE4_FIND_REQUIRED)
  49. ENDIF (KDE4_KDECONFIG_EXECUTABLE)