FindLibswresample.cmake 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. find_package(PkgConfig)
  2. pkg_check_modules(PC_LIBSWRESAMPLE QUIET libswresample)
  3. set(LIBSWRESAMPLE_STANDARD_DEFINITIONS ${PC_LIBSWRESAMPLE_CFLAGS_OTHER}
  4. CACHE STRING
  5. "Libswresample required CFLAGS")
  6. set(LIBSWRESAMPLE_STATIC_DEFINITIONS ${PC_LIBSWRESAMPLE_STATIC_CFLAGS_OTHER}
  7. CACHE STRING
  8. "Libswresample static required CFLAGS")
  9. find_path(LIBSWRESAMPLE_STANDARD_INCLUDE_DIR libswresample/swresample.h
  10. HINTS ${PC_LIBSWRESAMPLE_INCLUDEDIR}
  11. ${PC_LIBSWRESAMPLE_INCLUDE_DIRS}
  12. PATH_SUFFIXES libswresample)
  13. find_path(LIBSWRESAMPLE_STATIC_INCLUDE_DIR libswresample/swresample.h
  14. HINTS ${PC_LIBSWRESAMPLE_STATIC_INCLUDEDIR}
  15. ${PC_LIBSWRESAMPLE_STATIC_INCLUDE_DIRS}
  16. PATH_SUFFIXES libswresample)
  17. if(NOT LIBSWRESAMPLE_STANDARD_LIBRARIES)
  18. set(LIBSWRESAMPLE_STANDARD_LIBRARIES_ "")
  19. foreach(lib ${PC_LIBSWRESAMPLE_LIBRARIES})
  20. find_library(_lib_file NAMES ${lib}
  21. HINTS ${PC_LIBSWRESAMPLE_LIBDIR}
  22. ${PC_LIBSWRESAMPLE_LIBRARY_DIRS})
  23. if(_lib_file)
  24. LIST(APPEND LIBSWRESAMPLE_STANDARD_LIBRARIES_
  25. ${_lib_file})
  26. endif()
  27. unset(_lib_file CACHE)
  28. endforeach()
  29. set(LIBSWRESAMPLE_STANDARD_LIBRARIES
  30. ${LIBSWRESAMPLE_STANDARD_LIBRARIES_}
  31. CACHE STRING
  32. "Libswresample (dynamic) libraries")
  33. unset(LIBSWRESAMPLE_STANDARD_LIBRARIES_)
  34. endif()
  35. if(NOT LIBSWRESAMPLE_STATIC_LIBRARIES)
  36. set(LIBSWRESAMPLE_STATIC_LIBRARIES_ "")
  37. set(lib_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
  38. set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}
  39. ${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_SHARED_MODULE_SUFFIX})
  40. foreach(lib ${PC_LIBSWRESAMPLE_STATIC_LIBRARIES})
  41. find_library(_lib_file NAMES ${lib}
  42. HINTS ${PC_LIBSWRESAMPLE_LIBDIR}
  43. ${PC_LIBSWRESAMPLE_LIBRARY_DIRS})
  44. if(_lib_file)
  45. list(APPEND LIBSWRESAMPLE_STATIC_LIBRARIES_
  46. ${_lib_file})
  47. else()
  48. list(APPEND LIBSWRESAMPLE_STATIC_LIBRARIES_ ${lib})
  49. endif()
  50. unset(_lib_file CACHE)
  51. endforeach()
  52. set(CMAKE_FIND_LIBRARY_SUFFIXES ${lib_suffixes})
  53. set(LIBSWRESAMPLE_STATIC_LIBRARIES ${LIBSWRESAMPLE_STATIC_LIBRARIES_}
  54. CACHE STRING
  55. "Libswresample static libraries")
  56. unset(LIBSWRESAMPLE_STATIC_LIBRARIES_)
  57. endif()
  58. if(Libswresample_FIND_COMPONENTS AND
  59. Libswresample_FIND_COMPONENTS STREQUAL "static")
  60. set(LIBSWRESAMPLE_DEFINITION ${LIBSWRESAMPLE_STATIC_DEFINITIONS})
  61. set(LIBSWRESAMPLE_INCLUDE_DIR ${LIBSWRESAMPLE_STATIC_INCLUDE_DIR})
  62. set(LIBSWRESAMPLE_LIBRARY ${LIBSWRESAMPLE_STATIC_LIBRARIES})
  63. else()
  64. set(LIBSWRESAMPLE_DEFINITION ${LIBSWRESAMPLE_STANDARD_DEFINITIONS})
  65. set(LIBSWRESAMPLE_INCLUDE_DIR ${LIBSWRESAMPLE_STANDARD_INCLUDE_DIR})
  66. set(LIBSWRESAMPLE_LIBRARY ${LIBSWRESAMPLE_STANDARD_LIBRARIES})
  67. endif()
  68. include(FindPackageHandleStandardArgs)
  69. find_package_handle_standard_args(Libswresample DEFAULT_MSG
  70. LIBSWRESAMPLE_INCLUDE_DIR LIBSWRESAMPLE_LIBRARY)
  71. if(LIBSWRESAMPLE_FOUND)
  72. set(LIBSWRESAMPLE_DEFINITIONS ${LIBSWRESAMPLE_DEFINITION})
  73. set(LIBSWRESAMPLE_INCLUDE_DIRS ${LIBSWRESAMPLE_INCLUDE_DIR})
  74. set(LIBSWRESAMPLE_LIBRARIES ${LIBSWRESAMPLE_LIBRARY})
  75. endif()
  76. mark_as_advanced(
  77. LIBSWRESAMPLE_STANDARD_DEFINITIONS
  78. LIBSWRESAMPLE_STANDARD_INCLUDE_DIR
  79. LIBSWRESAMPLE_STANDARD_LIBRARIES
  80. LIBSWRESAMPLE_STATIC_DEFINITIONS
  81. LIBSWRESAMPLE_STATIC_INCLUDE_DIR
  82. LIBSWRESAMPLE_STATIC_LIBRARIES
  83. )