CMakeLists.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. define_module("mediacontroller")
  2. if(RVC_DEBUG_MODE)
  3. set(STRMBASE_LIB strmbasd)
  4. else()
  5. set(STRMBASE_LIB strmbase)
  6. endif(RVC_DEBUG_MODE)
  7. if(MSVC)
  8. set(STDAFXCPP stdafx.cpp)
  9. set(VIDEOCAPTURECPP )
  10. set(AUDIOCAPTURECPP )
  11. else()
  12. set(STDAFXCPP )
  13. set(VIDEOCAPTURECPP videocapobj.h videocapobj.cpp)
  14. set(AUDIOCAPTURECPP audiocapobj.h audiocapobj.cpp)
  15. endif(MSVC)
  16. set(${MODULE_PREFIX}_SRCS
  17. capture.h
  18. Event.h
  19. ExternalCameraMsg.h
  20. MediaController_client_g.h
  21. MediaController_def_g.h
  22. MediaController_msg_g.h
  23. MediaController_server_g.h
  24. ${STDAFXCPP}
  25. ${VIDEOCAPTURECPP}
  26. ${AUDIOCAPTURECPP}
  27. capture.cpp
  28. mod_mediacontroller.cpp
  29. )
  30. set(MOD_VERSION_STRING "0.0.1-dev1")
  31. add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
  32. if(WIN32)
  33. add_precompiled_header(${MODULE_NAME} stdafx.h SOURCE_CXX stdafx.cpp FORCEINCLUDE)
  34. endif(WIN32)
  35. if(WIN32)
  36. conan_cmake_run(REQUIRES portaudio/v190600.20161030@LR04.02_ThirdParty/testing
  37. BASIC_SETUP CMAKE_TARGETS
  38. BUILD missing)
  39. else(WIN32)
  40. endif(WIN32)
  41. if(WIN32)
  42. conan_cmake_run(REQUIRES ffmpeg/4.1@LR04.02_ThirdParty/testing
  43. BASIC_SETUP CMAKE_TARGETS
  44. BUILD missing)
  45. else(WIN32)
  46. conan_cmake_run(REQUIRES ffmpeg/4.1.6@LR04.02_ThirdParty/stable
  47. BASIC_SETUP CMAKE_TARGETS
  48. BUILD missing)
  49. endif(WIN32)
  50. if(WIN32)
  51. conan_cmake_run(REQUIRES IPP/1.0@LR04.02_ThirdParty/testing
  52. BASIC_SETUP CMAKE_TARGETS
  53. BUILD missing)
  54. endif(WIN32)
  55. if(WIN32)
  56. conan_cmake_run(REQUIRES spandsp/0.0.6@LR04.02_ThirdParty/testing
  57. BASIC_SETUP CMAKE_TARGETS
  58. BUILD missing)
  59. else(WIN32)
  60. conan_cmake_run(REQUIRES spandsp/0.0.6@LR04.02_ThirdParty/testing
  61. BASIC_SETUP CMAKE_TARGETS
  62. BUILD missing)
  63. endif(WIN32)
  64. if(WIN32)
  65. conan_cmake_run(REQUIRES SpeexDSP/1.2rc3@LR04.02_ThirdParty/testing
  66. BASIC_SETUP CMAKE_TARGETS
  67. BUILD missing)
  68. else(WIN32)
  69. conan_cmake_run(REQUIRES SpeexDSP/1.2rc3@LR04.02_ThirdParty/testing
  70. BASIC_SETUP CMAKE_TARGETS
  71. BUILD missing)
  72. endif(WIN32)
  73. if(WIN32)
  74. conan_cmake_run(REQUIRES apache-apr/1.4.2@LR04.02_ThirdParty/testing
  75. lib8k/1.0@LR04.02_ThirdParty/testing
  76. BASIC_SETUP CMAKE_TARGETS
  77. BUILD missing)
  78. else(WIN32)
  79. conan_cmake_run(REQUIRES apr/1.7.0@LR04.02_ThirdParty/shared
  80. BASIC_SETUP CMAKE_TARGETS
  81. BUILD missing)
  82. endif(WIN32)
  83. target_include_directories(${MODULE_NAME} PRIVATE
  84. ${CONAN_INCLUDE_DIRS_FFMPEG}
  85. if(WIN32)
  86. ${CONAN_INCLUDE_DIRS_PORTAUDIO}
  87. ${CONAN_INCLUDE_DIRS_IPP}
  88. ${CONAN_INCLUDE_DIRS_SPEEXDSP}
  89. ${CONAN_INCLUDE_DIRS_APR}/apr-1
  90. ${CONAN_INCLUDE_DIRS_SPANDSP}
  91. endif(WIN32)
  92. )
  93. target_link_directories(${MODULE_NAME} PRIVATE
  94. ${CONAN_LIB_DIRS_FFMPEG}
  95. ${CONAN_LIB_DIRS_SPANDSP}
  96. ${CONAN_LIB_DIRS_SPEEXDSP}
  97. if(WIN32)
  98. ${CONAN_LIB_DIRS_PORTAUDIO}
  99. ${CONAN_LIB_DIRS_IPP}
  100. ${CONAN_LIB_DIRS_APACHE-APR}
  101. ${CONAN_LIB_DIRS_LIB8K}
  102. else
  103. ${CONAN_LIB_DIRS_APR}
  104. endif(WIN32)
  105. )
  106. # 添加实体需要依赖的其他共享库(包括系统库)
  107. if(WIN32)
  108. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  109. ${CONAN_PKG_LIBS_IPP}
  110. ${CONAN_PKG_LIBS_PORTAUDIO}
  111. ${CONAN_PKG_LIBS_FFMPEG}
  112. ${CONAN_PKG_LIBS_APACHE-APR}
  113. ${CONAN_PKG_LIBS_LIB8K}
  114. ws2_32
  115. strmiids
  116. winmm
  117. Vfw32
  118. ole32
  119. libaudioframework
  120. libvideoframework
  121. audioqueue
  122. videoqueue
  123. libvideohorflip
  124. audiorender
  125. )
  126. else(WIN32)
  127. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  128. ${CONAN_PKG_LIBS_FFMPEG}
  129. mediadeviceinfo
  130. videocapture
  131. asound
  132. libaudioframework
  133. libvideoframework
  134. audioqueue
  135. videoqueue
  136. ${CONAN_PKG_LIBS_APR}
  137. ${CONAN_PKG_LIBS_SPANDSP}
  138. ${CONAN_PKG_LIBS_SPEEXDSP}
  139. audiomgr
  140. )
  141. endif(WIN32)
  142. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
  143. deploy_module(${MODULE_PREFIX} ${MODULE_NAME})