/CMakeModules/FindLibAttica.cmake

http://github.com/tomahawk-player/tomahawk · CMake · 63 lines · 34 code · 11 blank · 18 comment · 0 complexity · bc17811c868d1660f21ffb44975b427e MD5 · raw file

  1. # Try to find the Attica library
  2. # Once done this will define
  3. #
  4. # LIBATTICA_FOUND Indicates that Attica was found
  5. # LIBATTICA_LIBRARIES Libraries needed to use Attica
  6. # LIBATTICA_LIBRARY_DIRS Paths needed for linking against Attica
  7. # LIBATTICA_INCLUDE_DIR Path needed for finding Attica include files
  8. #
  9. # The minimum required version of LibAttica can be specified using the
  10. # standard syntax, e.g. find_package(LibAttica 0.20)
  11. # Copyright (c) 2009 Frederik Gladhorn <gladhorn@kde.org>
  12. #
  13. # Redistribution and use is allowed according to the terms of the BSD license.
  14. # Support LIBATTICA_MIN_VERSION for compatibility:
  15. IF(NOT LibAttica_FIND_VERSION)
  16. SET(LibAttica_FIND_VERSION "${LIBATTICA_MIN_VERSION}")
  17. ENDIF(NOT LibAttica_FIND_VERSION)
  18. # the minimum version of LibAttica we require
  19. IF(NOT LibAttica_FIND_VERSION)
  20. SET(LibAttica_FIND_VERSION "0.1.0")
  21. ENDIF(NOT LibAttica_FIND_VERSION)
  22. IF (NOT WIN32)
  23. # use pkg-config to get the directories and then use these values
  24. # in the FIND_PATH() and FIND_LIBRARY() calls
  25. FIND_PACKAGE(PkgConfig)
  26. PKG_CHECK_MODULES(PC_LIBATTICA QUIET libattica)
  27. SET(LIBATTICA_DEFINITIONS ${PC_ATTICA_CFLAGS_OTHER})
  28. ENDIF (NOT WIN32)
  29. FIND_PATH(LIBATTICA_INCLUDE_DIR attica/provider.h
  30. HINTS
  31. ${PC_LIBATTICA_INCLUDEDIR}
  32. ${PC_LIBATTICA_INCLUDE_DIRS}
  33. PATH_SUFFIXES attica
  34. )
  35. # Store the version number in the cache, so we don't have to search everytime:
  36. IF(LIBATTICA_INCLUDE_DIR AND NOT LIBATTICA_VERSION)
  37. FILE(READ ${LIBATTICA_INCLUDE_DIR}/attica/version.h LIBATTICA_VERSION_CONTENT)
  38. STRING (REGEX MATCH "LIBATTICA_VERSION_STRING \".*\"\n" LIBATTICA_VERSION_MATCH "${LIBATTICA_VERSION_CONTENT}")
  39. IF(LIBATTICA_VERSION_MATCH)
  40. STRING(REGEX REPLACE "LIBATTICA_VERSION_STRING \"(.*)\"\n" "\\1" _LIBATTICA_VERSION ${LIBATTICA_VERSION_MATCH})
  41. ENDIF(LIBATTICA_VERSION_MATCH)
  42. SET(LIBATTICA_VERSION "${_LIBATTICA_VERSION}" CACHE STRING "Version number of LibAttica" FORCE)
  43. ENDIF(LIBATTICA_INCLUDE_DIR AND NOT LIBATTICA_VERSION)
  44. FIND_LIBRARY(LIBATTICA_LIBRARIES NAMES attica libattica
  45. HINTS
  46. ${PC_LIBATTICA_LIBDIR}
  47. ${PC_LIBATTICA_LIBRARY_DIRS}
  48. )
  49. INCLUDE(FindPackageHandleStandardArgs)
  50. FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibAttica REQUIRED_VARS LIBATTICA_LIBRARIES LIBATTICA_INCLUDE_DIR
  51. VERSION_VAR LIBATTICA_VERSION)
  52. MARK_AS_ADVANCED(LIBATTICA_INCLUDE_DIR LIBATTICA_LIBRARIES)