CMakeLists.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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. ${RVC_TOOLKIT_INCLUDE_DIR}
  54. ${CONAN_INCLUDE_DIRS_FFMPEG}
  55. ${CUSTOM_OPENCV_INCLUDES_DIR}
  56. ${CUSTOM_OPENCV_INCLUDES_DIR}/opencv
  57. ${RVC_TOOLKIT_INCLUDE_DIR}
  58. ${RVC_FRAMEWORK_INCLUDES_DIR}
  59. ${MODULE_BASE_DIR}
  60. ${MODULE_BASE_DIR}/mod_healthmanager
  61. ${CMAKE_CURRENT_SOURCE_DIR}
  62. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
  63. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioframework
  64. ${OTHER_LIB_PLATFORM_BASE_DIR}/rvcmediacommon
  65. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
  66. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
  67. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideorender
  68. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudions
  69. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideohorflip
  70. ${OTHER_LIB_BASE_DIR}/libaudiomgr
  71. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideorender
  72. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideocapture
  73. if(WIN32)
  74. ${CONAN_INCLUDE_DIRS_PORTAUDIO}
  75. ${CONAN_INCLUDE_DIRS_IPP}
  76. ${CONAN_INCLUDE_DIRS_APACHE-APR}/include
  77. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/su
  78. ${CONAN_INCLUDE_DIRS_SOFIA}/win32
  79. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/nua
  80. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/url
  81. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/sip
  82. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/msg
  83. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/sdp
  84. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/nta
  85. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/nea
  86. ${CONAN_INCLUDE_DIRS_SOFIA}/libsofia-sip-ua/soa
  87. else()
  88. ${CONAN_INCLUDE_DIRS_PULSEAUDIO}
  89. ${CONAN_INCLUDE_DIRS_APR}/apr-1
  90. ${CONAN_INCLUDE_DIRS_SOFIA}/sofia-sip-1.13
  91. endif(WIN32)
  92. )
  93. message(STATUS "CONAN_INCLUDE_DIRS_SOFIA == ${CONAN_INCLUDE_DIRS_SOFIA}")
  94. message(STATUS "CONAN_LIB_DIRS_LIBYUV == ${CONAN_LIB_DIRS_LIBYUV}")
  95. if(MSVC)
  96. target_link_directories(${MODULE_NAME} PRIVATE
  97. ${CONAN_LIB_DIRS_FFMPEG}
  98. ${CUSTOM_OPENCV_LIBS_DIR}
  99. ${CONAN_LIB_DIRS_SPANDSP}
  100. ${CONAN_LIB_DIRS_SOFIA}
  101. ${CONAN_LIB_DIRS_SPEEXDSP}
  102. ${CONAN_LIB_DIRS_LIBKYSM}
  103. ${CONAN_LIB_DIRS_PORTAUDIO}
  104. ${CONAN_LIB_DIRS_IPP}
  105. ${CONAN_LIB_DIRS_LIB8K}
  106. ${CONAN_LIB_DIRS_APACHE-APR}
  107. #TODO
  108. ${CONAN_LIB_DIRS_LIBYUV}
  109. )
  110. else()
  111. target_link_directories(${MODULE_NAME} PRIVATE
  112. ${CONAN_LIB_DIRS_PULSEAUDIO}
  113. ${CONAN_LIB_DIRS_FFMPEG}
  114. ${CUSTOM_OPENCV_LIBS_DIR}
  115. ${CONAN_LIB_DIRS_SPANDSP}
  116. ${CONAN_LIB_DIRS_SOFIA}
  117. ${CONAN_LIB_DIRS_SPEEXDSP}
  118. ${CONAN_LIB_DIRS_LIBKYSM}
  119. ${CONAN_LIB_DIRS_APR}
  120. )
  121. endif(MSVC)
  122. # 添加实体需要依赖的其他共享库(包括系统库)
  123. if(WIN32)
  124. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  125. ${CONAN_PKG_LIBS_PORTAUDIO}
  126. ${CONAN_PKG_LIBS_FFMPEG}
  127. ${CUSTOM_OPENCV_LIBS}
  128. ${SPBASE_LIB}
  129. ${TOOLKIT_LIB}
  130. ${CONAN_PKG_LIBS_APACHE-APR}
  131. ${CONAN_PKG_LIBS_LIB8K}
  132. ${CONAN_PKG_LIBS_SPANDSP}
  133. ${CONAN_PKG_LIBS_SOFIA}
  134. ${CONAN_PKG_LIBS_IPP}
  135. ${CONAN_PKG_LIBS_SPEEXDSP}
  136. ws2_32
  137. strmiids
  138. Vfw32
  139. winmm
  140. Msdmo
  141. dmoguids
  142. wmcodecdspuuid
  143. uuid
  144. amstrmid
  145. mfuuid
  146. libaudioframework
  147. libvideoframework
  148. audioqueue
  149. videoqueue
  150. libvideohorflip
  151. libaudions
  152. audiomgr
  153. videorender
  154. )
  155. else(WIN32)
  156. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  157. ${CONAN_PKG_LIBS_FFMPEG}
  158. ${CUSTOM_OPENCV_LIBS}
  159. ${SPBASE_LIB}
  160. ${TOOLKIT_LIB}
  161. ${CONAN_PKG_LIBS_APR}
  162. ${CONAN_PKG_LIBS_SPANDSP}
  163. ${CONAN_PKG_LIBS_SOFIA}
  164. ${CONAN_PKG_LIBS_SPEEXDSP}
  165. libaudioframework
  166. libvideoframework
  167. audioqueue
  168. videoqueue
  169. asound
  170. pthread
  171. ${RVCCOMM_LIB}
  172. ${CONAN_PKG_LIBS_LIBKYSM}
  173. ${WINPR_LIB}
  174. videorender
  175. audiomgr
  176. libaudions
  177. )
  178. endif(WIN32)
  179. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
  180. deploy_module(${MODULE_PREFIX} ${MODULE_NAME})
  181. if(MSVC)
  182. set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  183. else()
  184. set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} PARENT_SCOPE)
  185. endif(MSVC)