FindKDE4.cmake 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. PATH_SUFFIXES bin # the suffix is for the paths coming from KDEDIRS
  15. PATHS
  16. ${CMAKE_INSTALL_PREFIX}/bin
  17. ${_KDEDIRS}
  18. /opt/kde4/bin
  19. NO_DEFAULT_PATH
  20. )
  21. FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config )
  22. IF (KDE4_KDECONFIG_EXECUTABLE)
  23. # then ask kde4-config for the kde data dirs
  24. EXECUTE_PROCESS(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
  25. FILE(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
  26. # then check the data dirs for FindKDE4Internal.cmake
  27. FIND_PATH(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake ${_data_DIR})
  28. # if it has been found...
  29. IF (KDE4_DATA_DIR)
  30. SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
  31. IF (KDE4_FIND_QUIETLY)
  32. SET(_quiet QUIET)
  33. ENDIF (KDE4_FIND_QUIETLY)
  34. IF (KDE4_FIND_REQUIRED)
  35. SET(_req REQUIRED)
  36. ENDIF (KDE4_FIND_REQUIRED)
  37. # use FindKDE4Internal.cmake to do the rest
  38. FIND_PACKAGE(KDE4Internal ${_req} ${_quiet})
  39. ELSE (KDE4_DATA_DIR)
  40. IF (KDE4_FIND_REQUIRED)
  41. MESSAGE(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
  42. ENDIF (KDE4_FIND_REQUIRED)
  43. ENDIF (KDE4_DATA_DIR)
  44. ELSE (KDE4_KDECONFIG_EXECUTABLE)
  45. IF (KDE4_FIND_REQUIRED)
  46. MESSAGE(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
  47. ENDIF (KDE4_FIND_REQUIRED)
  48. ENDIF (KDE4_KDECONFIG_EXECUTABLE)