CMakeLists.txt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. set(MODULE_NAME "libaudioframework")
  2. set(MODULE_PREFIX "LIB_AUDIOFRAMEWORK_FUNC")
  3. if(NOT MSVC)
  4. add_compile_options(-fPIC)
  5. endif(NOT MSVC)
  6. #local target
  7. set(SPBASE_LIB spbase)
  8. set(RVCCOMM_LIB RVCComm)
  9. set(CUSTOM_OPENCV_INCLUDES_DIR ${CONAN_INCLUDE_DIRS_OPENCV})
  10. set(CUSTOM_OPENCV_LIBS_DIR ${CONAN_LIB_DIRS_OPENCV})
  11. set(CUSTOM_OPENCV_LIBS ${CONAN_LIBS_OPENCV})
  12. set(${MODULE_PREFIX}_SRCS
  13. audioaec.c
  14. audiobridge.c
  15. audiocache.c
  16. audiocodec.c
  17. audiocommon.c
  18. audioconf.c
  19. audiocontext.c
  20. audiocustom.c
  21. audiodbmeter.c
  22. audiodriver.c
  23. audiodrivergroup.c
  24. audiodsp.c
  25. audiodtmf.c
  26. audiodtmfbridge.c
  27. audioengine.c
  28. audiofax.c
  29. audiofile.c
  30. audiolog.c
  31. audiomicspk2.c
  32. audiomixer.c
  33. audiorecply.c
  34. audioresample.c
  35. audioresize.c
  36. audiortp.c
  37. audiosilencedet.c
  38. audiostream.c
  39. audiotone.c
  40. audiovoxfile.c
  41. audiowavfile.c
  42. codec/g729acodec.c
  43. precompile.c
  44. codec/adpcmcodec.c
  45. codec/codecmgr.c
  46. codec/g711codec.c
  47. codec/gsmcodec.c
  48. other/delaybuf.c
  49. other/jbuf.c
  50. other/plc.c
  51. other/silencedet.c
  52. other/wsola.c
  53. )
  54. add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
  55. if(WIN32)
  56. target_include_directories(${MODULE_NAME} PRIVATE
  57. ${RVC_COMMON_INCLUDE_DIR}
  58. ${RVC_WINPR_INCLUDE_DIR}
  59. ${CONAN_INCLUDE_DIRS_FFMPEG}
  60. ${CONAN_INCLUDE_DIRS_PORTAUDIO}
  61. ${CONAN_INCLUDE_DIRS_PORTAUDIO}/common
  62. ${CONAN_INCLUDE_DIRS_SPEEXDSP}
  63. ${RVC_TOOLKIT_INCLUDE_DIR}
  64. ${CONAN_INCLUDE_DIRS_LIB8K}
  65. ${CONAN_INCLUDE_DIRS_LIBTIFF}
  66. ${CONAN_INCLUDE_DIRS_APACHE-APR}/include
  67. ${CONAN_INCLUDE_DIRS_APACHE-APR}/include/include
  68. ${CONAN_INCLUDE_DIRS_SPANDSP}/src
  69. ${CONAN_INCLUDE_DIRS_SPANDSP}/src/msvc
  70. )
  71. else(WIN32)
  72. target_include_directories(${MODULE_NAME} PRIVATE
  73. ${RVC_COMMON_INCLUDE_DIR}
  74. ${CONAN_INCLUDE_DIRS_FFMPEG}
  75. ${CONAN_INCLUDE_DIRS_PULSEAUDIO}
  76. ${CONAN_INCLUDE_DIRS_SPEEXDSP}
  77. ${RVC_TOOLKIT_INCLUDE_DIR}
  78. ${CONAN_INCLUDE_DIRS_LIB8K}
  79. ${CONAN_INCLUDE_DIRS_LIBTIFF}
  80. ${CONAN_INCLUDE_DIRS_APR}/apr-1
  81. ${RVC_WINPR_INCLUDE_DIR}/winpr
  82. ${CONAN_INCLUDE_DIRS_SPANDSP}
  83. )
  84. endif(WIN32)
  85. target_link_directories(${MODULE_NAME} PRIVATE
  86. ${CONAN_LIB_DIRS_FFMPEG}
  87. ${CONAN_LIB_DIRS_SPANDSP}
  88. ${CONAN_LIB_DIRS_SPEEXDSP}
  89. ${CONAN_LIB_DIRS_LIB8K}
  90. ${CONAN_LIB_DIRS_LIBTIFF}
  91. if(WIN32)
  92. ${CONAN_LIB_DIRS_APACHE-APR}
  93. ${CONAN_LIB_DIRS_PORTAUDIO}
  94. ${CONAN_LIB_DIRS_SOFIA}
  95. else
  96. ${CONAN_LIB_DIRS_APR}
  97. ${CONAN_LIB_DIRS_PULSEAUDIO}
  98. endif(WIN32)
  99. )
  100. # 添加实体需要依赖的其他共享库(包括系统库)
  101. if(WIN32)
  102. set(${MODULE_PREFIX}_LIBS
  103. ${CONAN_PKG_LIBS_SOFIA} PRIVATE
  104. ${CONAN_PKG_LIBS_PORTAUDIO} PRIVATE
  105. ${CONAN_PKG_LIBS_FFMPEG} PRIVATE
  106. ${SPBASE_LIB} PRIVATE
  107. ${TOOLKIT_LIB} PRIVATE
  108. ${CONAN_PKG_LIBS_APACHE-APR} PRIVATE
  109. ${CONAN_PKG_LIBS_LIB8K} PRIVATE
  110. ${CONAN_PKG_LIBS_SPANDSP} PRIVATE
  111. ${CONAN_PKG_LIBS_IPP} PRIVATE
  112. ${CONAN_PKG_LIBS_SPEEXDSP}
  113. )
  114. else(WIN32)
  115. set(${MODULE_PREFIX}_LIBS PRIVATE
  116. ${CONAN_PKG_LIBS_FFMPEG}
  117. ${CONAN_PKG_LIBS_PULSEAUDIO}
  118. ${SPBASE_LIB}
  119. ${TOOLKIT_LIB}
  120. ${CONAN_PKG_LIBS_APR}
  121. ${CONAN_PKG_LIBS_SPANDSP}
  122. ${CONAN_PKG_LIBS_SOFIA}
  123. ${CONAN_PKG_LIBS_SPEEXDSP}
  124. asound
  125. pthread
  126. winpr
  127. ${RVCCOMM_LIB}
  128. )
  129. endif(WIN32)
  130. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS})
  131. if(MSVC)
  132. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  133. else()
  134. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} PARENT_SCOPE)
  135. ENDIF(MSVC)
  136. set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "other/")