FindLibfdk.cmake 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # Once done these will be defined:
  2. #
  3. # LIBFDK_FOUND LIBFDK_INCLUDE_DIRS LIBFDK_LIBRARIES
  4. #
  5. # For use in OBS:
  6. #
  7. # Libfdk_INCLUDE_DIR
  8. find_package(PkgConfig QUIET)
  9. if(PKG_CONFIG_FOUND)
  10. pkg_check_modules(_LIBFDK fdk-aac)
  11. endif()
  12. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  13. set(_lib_suffix 64)
  14. else()
  15. set(_lib_suffix 32)
  16. endif()
  17. find_path(
  18. Libfdk_INCLUDE_DIR
  19. NAMES fdk-aac/aacenc_lib.h
  20. HINTS ENV LIBFDK_PATH ${LIBFDK_PATH} ${CMAKE_SOURCE_DIR}/${LIBFDK_PATH}
  21. ${_LIBFDK_INCLUDE_DIRS}
  22. PATHS /usr/include /usr/local/include /opt/local/include /sw/include
  23. PATH_SUFFIXES include)
  24. find_library(
  25. Libfdk_LIB
  26. NAMES ${_LIBFDK_LIBRARIES} fdk-aac libfdk-aac
  27. HINTS ENV LIBFDK_PATH ${LIBFDK_PATH} ${CMAKE_SOURCE_DIR}/${LIBFDK_PATH}
  28. ${_LIBFDK_LIBRARY_DIRS}
  29. PATHS /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  30. PATH_SUFFIXES
  31. lib${_lib_suffix}
  32. lib
  33. libs${_lib_suffix}
  34. libs
  35. bin${_lib_suffix}
  36. bin
  37. ../lib${_lib_suffix}
  38. ../lib
  39. ../libs${_lib_suffix}
  40. ../libs
  41. ../bin${_lib_suffix}
  42. ../bin)
  43. include(FindPackageHandleStandardArgs)
  44. find_package_handle_standard_args(Libfdk DEFAULT_MSG Libfdk_LIB
  45. Libfdk_INCLUDE_DIR)
  46. mark_as_advanced(Libfdk_INCLUDE_DIR Libfdk_LIB)
  47. if(LIBFDK_FOUND)
  48. set(LIBFDK_INCLUDE_DIRS ${Libfdk_INCLUDE_DIR})
  49. set(LIBFDK_LIBRARIES ${Libfdk_LIB})
  50. if(NOT TARGET LibFDK::LibFDK)
  51. if(IS_ABSOLUTE "${LIBFDK_LIBRARIES}")
  52. add_library(LibFDK::LibFDK UNKNOWN IMPORTED)
  53. set_target_properties(LibFDK::LibFDK PROPERTIES IMPORTED_LOCATION
  54. "${LIBFDK_LIBRARIES}")
  55. else()
  56. add_library(LibFDK::LibFDK INTERFACE IMPORTED)
  57. set_target_properties(LibFDK::LibFDK PROPERTIES IMPORTED_LIBNAME
  58. "${LIBFDK_LIBRARIES}")
  59. endif()
  60. set_target_properties(
  61. LibFDK::LibFDK PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
  62. "${LIBFDK_INCLUDE_DIRS}")
  63. endif()
  64. endif()