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