CMakeLists.txt 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. define_module("sipphone")
  2. set(CUSTOM_OPENCV_INCLUDES_DIR ${CONAN_INCLUDE_DIRS_OPENCV})
  3. set(CUSTOM_OPENCV_LIBS_DIR ${CONAN_LIB_DIRS_OPENCV})
  4. set(CUSTOM_OPENCV_LIBS ${CONAN_LIBS_OPENCV})
  5. if(MSVC)
  6. set(STDAFXCPP stdafx.cpp)
  7. else()
  8. set(STDAFXCPP )
  9. endif(MSVC)
  10. if(MSVC)
  11. set(${SIPPHONE_PLATFORM}_SRCS
  12. uuid.cpp
  13. volumekeeper.h
  14. volumekeeper.cpp
  15. )
  16. else()
  17. set(${SIPPHONE_PLATFORM}_SRCS
  18. video_render.h
  19. video_render.cpp
  20. )
  21. endif(MSVC)
  22. set(${MODULE_PREFIX}_SRCS
  23. audio_session.h
  24. endpoint.h
  25. Event.h
  26. SIPPhone_msg_g.h
  27. SIPPhone_client_g.h
  28. SIPPhone_def_g.h
  29. SIPPhone_server_g.h
  30. video_session.h
  31. mod_sipphone.h
  32. endpoint.cpp
  33. audio_session.cpp
  34. mod_sipphone.cpp
  35. ${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_PLAFORM_SUBDIR}/video_session.cpp
  36. ${${SIPPHONE_PLATFORM}_SRCS}
  37. )
  38. set(MOD_VERSION_STRING "0.0.1-dev1")
  39. add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
  40. target_include_directories(${MODULE_NAME} PRIVATE
  41. ${CONAN_INCLUDE_DIRS_APR}/apr-1
  42. ${RVC_TOOLKIT_INCLUDE_DIR}
  43. ${CONAN_INCLUDE_DIRS_FFMPEG}
  44. ${CUSTOM_OPENCV_INCLUDES_DIR}
  45. ${CUSTOM_OPENCV_INCLUDES_DIR}/opencv
  46. ${RVC_TOOLKIT_INCLUDE_DIR}
  47. ${RVC_FRAMEWORK_INCLUDES_DIR}
  48. ${MODULE_BASE_DIR}
  49. ${MODULE_BASE_DIR}/mod_healthmanager
  50. ${CMAKE_CURRENT_SOURCE_DIR}
  51. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
  52. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioframework
  53. ${OTHER_LIB_BASE_DIR}/rvcmediacommon
  54. ${OTHER_LIB_BASE_DIR}/libaudioqueue
  55. ${OTHER_LIB_BASE_DIR}/libvideoqueue
  56. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideorender
  57. ${OTHER_LIB_BASE_DIR}/libaudions
  58. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideohorflip
  59. ${OTHER_LIB_BASE_DIR}/libaudiomgr
  60. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideorender
  61. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideocapture
  62. if(WIN32)
  63. ${CONAN_INCLUDE_DIRS_PORTAUDIO}
  64. ${CONAN_INCLUDE_DIRS_IPP}
  65. ${CONAN_INCLUDE_DIRS_APACHE-APR}/include
  66. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/su
  67. ${CONAN_INCLUDE_DIRS_SOFIA}/win32
  68. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/nua
  69. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/url
  70. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/sip
  71. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/msg
  72. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/sdp
  73. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/nta
  74. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/nea
  75. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/soa
  76. else()
  77. ${CONAN_INCLUDE_DIRS_PULSEAUDIO}
  78. ${CONAN_INCLUDE_DIRS_APR}/apr-1
  79. ${CONAN_INCLUDE_DIRS_SOFIA}/sofia-sip-1.13
  80. endif(WIN32)
  81. )
  82. message(STATUS "CONAN_INCLUDE_DIRS_SOFIA == ${CONAN_INCLUDE_DIRS_SOFIA}")
  83. message(STATUS "CONAN_LIB_DIRS_LIBYUV == ${CONAN_LIB_DIRS_LIBYUV}")
  84. if(MSVC)
  85. target_link_directories(${MODULE_NAME} PRIVATE
  86. ${CONAN_LIB_DIRS_FFMPEG}
  87. ${CUSTOM_OPENCV_LIBS_DIR}
  88. ${CONAN_LIB_DIRS_SPANDSP}
  89. ${CONAN_LIB_DIRS_SOFIA}
  90. ${CONAN_LIB_DIRS_SPEEXDSP}
  91. ${CONAN_LIB_DIRS_LIBKYSM}
  92. ${CONAN_LIB_DIRS_PORTAUDIO}
  93. ${CONAN_LIB_DIRS_IPP}
  94. ${CONAN_LIB_DIRS_LIB8K}
  95. ${CONAN_LIB_DIRS_APACHE-APR}
  96. #TODO
  97. ${CONAN_LIB_DIRS_LIBYUV}
  98. )
  99. else()
  100. target_link_directories(${MODULE_NAME} PRIVATE
  101. ${CONAN_LIB_DIRS_PULSEAUDIO}
  102. ${CONAN_LIB_DIRS_FFMPEG}
  103. ${CUSTOM_OPENCV_LIBS_DIR}
  104. ${CONAN_LIB_DIRS_SPANDSP}
  105. ${CONAN_LIB_DIRS_SOFIA}
  106. ${CONAN_LIB_DIRS_SPEEXDSP}
  107. ${CONAN_LIB_DIRS_LIBKYSM}
  108. ${CONAN_LIB_DIRS_APR}
  109. )
  110. endif(MSVC)
  111. # 添加实体需要依赖的其他共享库(包括系统库)
  112. if(WIN32)
  113. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  114. ${CONAN_PKG_LIBS_PORTAUDIO}
  115. ${CONAN_PKG_LIBS_FFMPEG}
  116. ${CUSTOM_OPENCV_LIBS}
  117. ${SPBASE_LIB}
  118. ${TOOLKIT_LIB}
  119. ${CONAN_PKG_LIBS_APACHE-APR}
  120. ${CONAN_PKG_LIBS_LIB8K}
  121. ${CONAN_PKG_LIBS_SPANDSP}
  122. ${CONAN_PKG_LIBS_SOFIA}
  123. ${CONAN_PKG_LIBS_IPP}
  124. ${CONAN_PKG_LIBS_SPEEXDSP}
  125. ws2_32
  126. strmiids
  127. Vfw32
  128. winmm
  129. Msdmo
  130. dmoguids
  131. wmcodecdspuuid
  132. uuid
  133. amstrmid
  134. mfuuid
  135. libaudioframework
  136. libvideoframework
  137. audioqueue
  138. videoqueue
  139. libvideohorflip
  140. libaudions
  141. audiomgr
  142. videorender
  143. )
  144. else(WIN32)
  145. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  146. ${CONAN_PKG_LIBS_FFMPEG}
  147. ${CUSTOM_OPENCV_LIBS}
  148. ${SPBASE_LIB}
  149. ${TOOLKIT_LIB}
  150. ${CONAN_PKG_LIBS_APR}
  151. ${CONAN_PKG_LIBS_SPANDSP}
  152. ${CONAN_PKG_LIBS_SOFIA}
  153. ${CONAN_PKG_LIBS_SPEEXDSP}
  154. libaudioframework
  155. libvideoframework
  156. audioqueue
  157. videoqueue
  158. asound
  159. pthread
  160. ${RVCCOMM_LIB}
  161. ${CONAN_PKG_LIBS_LIBKYSM}
  162. ${WINPR_LIB}
  163. videorender
  164. audiomgr
  165. libaudions
  166. )
  167. endif(WIN32)
  168. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
  169. deploy_module(${MODULE_PREFIX} ${MODULE_NAME})
  170. if(MSVC)
  171. set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  172. else()
  173. set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} PARENT_SCOPE)
  174. endif(MSVC)