FindJack.cmake 2.6 KB

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