CMakeLists.txt 5.1 KB

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