FindJack.cmake 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # * Try to find jack-2.6 Once done this will define
  2. #
  3. # JACK_FOUND - system has jack JACK_INCLUDE_DIRS - the jack include directory
  4. # JACK_LIBRARIES - Link these to use jack JACK_DEFINITIONS - Compiler switches
  5. # required for using jack
  6. #
  7. # Copyright (c) 2008 Andreas Schneider <[email protected]> Modified for other
  8. # libraries by Lasse Kärkkäinen <tronic>
  9. #
  10. # Redistribution and use is allowed according to the terms of the New BSD
  11. # license. For details see the accompanying COPYING-CMAKE-SCRIPTS file.
  12. #
  13. if(JACK_LIBRARIES AND JACK_INCLUDE_DIRS)
  14. # in cache already
  15. set(JACK_FOUND TRUE)
  16. else(JACK_LIBRARIES AND JACK_INCLUDE_DIRS)
  17. # use pkg-config to get the directories and then use these values in the
  18. # FIND_PATH() and FIND_LIBRARY() calls
  19. if(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
  20. include(UsePkgConfig)
  21. pkgconfig(jack _JACK_INCLUDEDIR _JACK_LIBDIR _JACK_LDFLAGS _JACK_CFLAGS)
  22. else(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
  23. find_package(PkgConfig)
  24. if(PKG_CONFIG_FOUND)
  25. pkg_check_modules(_JACK jack)
  26. endif(PKG_CONFIG_FOUND)
  27. endif(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
  28. find_path(
  29. JACK_INCLUDE_DIR
  30. NAMES jack/jack.h
  31. PATHS ${_JACK_INCLUDE_DIRS} /usr/include /usr/local/include
  32. /opt/local/include /sw/include)
  33. find_library(
  34. JACK_LIBRARY
  35. NAMES jack
  36. PATHS ${_JACK_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
  37. if(JACK_LIBRARY AND JACK_INCLUDE_DIR)
  38. set(JACK_FOUND TRUE)
  39. set(JACK_INCLUDE_DIRS ${JACK_INCLUDE_DIR})
  40. set(JACK_LIBRARIES ${JACK_LIBRARIES} ${JACK_LIBRARY})
  41. endif(JACK_LIBRARY AND JACK_INCLUDE_DIR)
  42. if(JACK_FOUND)
  43. if(NOT JACK_FIND_QUIETLY)
  44. message(STATUS "Found jack: ${JACK_LIBRARY}")
  45. endif(NOT JACK_FIND_QUIETLY)
  46. if(NOT TARGET Jack::Jack)
  47. if(IS_ABSOLUTE "${JACK_LIBRARIES}")
  48. add_library(Jack::Jack UNKNOWN IMPORTED)
  49. set_target_properties(Jack::Jack PROPERTIES IMPORTED_LOCATION
  50. "${JACK_LIBRARIES}")
  51. else()
  52. add_library(Jack::Jack INTERFACE IMPORTED)
  53. set_target_properties(Jack::Jack PROPERTIES IMPORTED_LIBNAME
  54. "${JACK_LIBRARIES}")
  55. endif()
  56. set_target_properties(Jack::Jack PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
  57. "${JACK_INCLUDE_DIRS}")
  58. endif()
  59. else(JACK_FOUND)
  60. if(JACK_FIND_REQUIRED)
  61. message(FATAL_ERROR "Could not find JACK")
  62. endif(JACK_FIND_REQUIRED)
  63. endif(JACK_FOUND)
  64. # show the JACK_INCLUDE_DIRS and JACK_LIBRARIES variables only in the advanced
  65. # view
  66. mark_as_advanced(JACK_INCLUDE_DIRS JACK_LIBRARIES)
  67. endif(JACK_LIBRARIES AND JACK_INCLUDE_DIRS)