FindLibspeexdsp.cmake 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # Once done these will be defined:
  2. #
  3. # LIBSPEEXDSP_FOUND LIBSPEEXDSP_INCLUDE_DIRS LIBSPEEXDSP_LIBRARIES
  4. #
  5. # For use in OBS:
  6. #
  7. # SPEEXDSP_INCLUDE_DIR
  8. find_package(PkgConfig QUIET)
  9. if(PKG_CONFIG_FOUND)
  10. pkg_check_modules(_SPEEXDSP QUIET speexdsp libspeexdsp)
  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. SPEEXDSP_INCLUDE_DIR
  19. NAMES speex/speex_preprocess.h
  20. HINTS ENV SPEEX_PATH ${SPEEX_PATH} ${CMAKE_SOURCE_DIR}/${SPEEX_PATH} ${_SPEEXDSP_INCLUDE_DIRS}
  21. PATHS /usr/include /usr/local/include /opt/local/include /sw/include
  22. PATH_SUFFIXES include)
  23. find_library(
  24. SPEEXDSP_LIB
  25. NAMES ${_SPEEXDSP_LIBRARIES} speexdsp libspeexdsp
  26. HINTS ENV SPEEX_PATH ${SPEEX_PATH} ${CMAKE_SOURCE_DIR}/${SPEEX_PATH} ${_SPEEXDSP_LIBRARY_DIRS}
  27. PATHS /usr/lib /usr/local/lib /opt/local/lib /sw/lib
  28. PATH_SUFFIXES
  29. lib${_lib_suffix}
  30. lib
  31. libs${_lib_suffix}
  32. libs
  33. bin${_lib_suffix}
  34. bin
  35. ../lib${_lib_suffix}
  36. ../lib
  37. ../libs${_lib_suffix}
  38. ../libs
  39. ../bin${_lib_suffix}
  40. ../bin)
  41. include(FindPackageHandleStandardArgs)
  42. find_package_handle_standard_args(Libspeexdsp DEFAULT_MSG SPEEXDSP_LIB SPEEXDSP_INCLUDE_DIR)
  43. mark_as_advanced(SPEEXDSP_INCLUDE_DIR SPEEXDSP_LIB)
  44. if(LIBSPEEXDSP_FOUND)
  45. set(LIBSPEEXDSP_INCLUDE_DIRS ${SPEEXDSP_INCLUDE_DIR})
  46. set(LIBSPEEXDSP_LIBRARIES ${SPEEXDSP_LIB})
  47. if(NOT TARGET LibspeexDSP::LibspeexDSP)
  48. if(IS_ABSOLUTE "${LIBSPEEXDSP_LIBRARIES}")
  49. add_library(LibspeexDSP::LibspeexDSP UNKNOWN IMPORTED)
  50. set_target_properties(LibspeexDSP::LibspeexDSP PROPERTIES IMPORTED_LOCATION "${LIBSPEEXDSP_LIBRARIES}")
  51. else()
  52. add_library(LibspeexDSP::LibspeexDSP INTERFACE IMPORTED)
  53. set_target_properties(LibspeexDSP::LibspeexDSP PROPERTIES IMPORTED_LIBNAME "${LIBSPEEXDSP_LIBRARIES}")
  54. endif()
  55. set_target_properties(LibspeexDSP::LibspeexDSP PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
  56. "${LIBSPEEXDSP_INCLUDE_DIRS}")
  57. endif()
  58. endif()