FindLibVLC.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # Once done these will be defined:
  2. #
  3. # LIBVLC_FOUND LIBVLC_INCLUDE_DIRS LIBVLC_LIBRARIES
  4. #
  5. find_package(PkgConfig QUIET)
  6. if(PKG_CONFIG_FOUND)
  7. pkg_check_modules(_VLC QUIET libvlc)
  8. endif()
  9. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  10. set(_lib_suffix 64)
  11. else()
  12. set(_lib_suffix 32)
  13. endif()
  14. find_path(
  15. VLC_INCLUDE_DIR
  16. NAMES libvlc.h
  17. HINTS ENV VLC_PATH ${VLC_PATH} ${CMAKE_SOURCE_DIR}/${VLC_PATH}
  18. ${_VLC_INCLUDE_DIRS}
  19. PATHS /usr/include /usr/local/include /opt/local/include /sw/include
  20. PATH_SUFFIXES vlc include/vlc include)
  21. find_library(
  22. VLC_LIB
  23. NAMES ${_VLC_LIBRARIES} VLC libVLC
  24. HINTS ENV VLC_PATH ${VLC_PATH} ${CMAKE_SOURCE_DIR}/${VLC_PATH}
  25. ${_VLC_LIBRARY_DIRS}
  26. PATHS /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  27. PATH_SUFFIXES
  28. lib${_lib_suffix}
  29. lib
  30. libs${_lib_suffix}
  31. libs
  32. bin${_lib_suffix}
  33. bin
  34. ../lib${_lib_suffix}
  35. ../lib
  36. ../libs${_lib_suffix}
  37. ../libs
  38. ../bin${_lib_suffix}
  39. ../bin)
  40. include(FindPackageHandleStandardArgs)
  41. # OBS doesnt depend on linking, so we dont include VLC_LIB here as required.
  42. find_package_handle_standard_args(LibVLC DEFAULT_MSG VLC_INCLUDE_DIR)
  43. mark_as_advanced(VLC_INCLUDE_DIR VLC_LIB)
  44. if(LIBVLC_FOUND)
  45. set(LIBVLC_LIBRARIES ${VLC_LIB})
  46. set(LIBVLC_INCLUDE_DIRS ${VLC_INCLUDE_DIR})
  47. if(NOT TARGET VLC::LibVLC)
  48. add_library(VLC::LibVLC INTERFACE IMPORTED)
  49. set_target_properties(VLC::LibVLC PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
  50. "${LIBVLC_INCLUDE_DIRS}")
  51. endif()
  52. endif()