CMakeLists.txt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. set(${MODULE_PREFIX}_SRCS
  8. capture.h
  9. Event.h
  10. ExternalCameraMsg.h
  11. MediaController_client_g.h
  12. MediaController_def_g.h
  13. MediaController_msg_g.h
  14. MediaController_server_g.h
  15. mod_mediacontroller.h
  16. stdafx.cpp
  17. ${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_PLAFORM_SUBDIR}/capture.cpp
  18. ${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_PLAFORM_SUBDIR}/mod_mediacontroller.cpp
  19. )
  20. set(MOD_VERSION_STRING "0.0.1-dev1")
  21. add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
  22. if(NOT WIN32)
  23. target_include_directories(${MODULE_NAME} PRIVATE
  24. ${CMAKE_CURRENT_SOURCE_DIR}
  25. ${CONAN_INCLUDE_DIRS_PULSEAUDIO}
  26. ${CONAN_INCLUDE_DIRS_FFMPEG}
  27. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
  28. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideocapture
  29. #todo
  30. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideohorflip
  31. ${OTHER_LIB_PLATFORM_BASE_DIR}/rvcmediacommon
  32. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
  33. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
  34. ${OTHER_LIB_PLATFORM_BASE_DIR}/libmediadeviceinfo
  35. ${OTHER_LIB_BASE_DIR}/libaudiomgr
  36. ${OTHER_LIB_BASE_DIR}/libvideocapture
  37. )
  38. else()
  39. message(STATUS "OTHER_LIB_PLATFORM_BASE_DIR: ${OTHER_LIB_PLATFORM_BASE_DIR}")
  40. target_include_directories(${MODULE_NAME} PRIVATE
  41. ${CMAKE_CURRENT_SOURCE_DIR}
  42. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
  43. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideohorflip
  44. ${OTHER_LIB_PLATFORM_BASE_DIR}/rvcmediacommon
  45. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
  46. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
  47. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudiorender
  48. ${OTHER_LIB_PLATFORM_BASE_DIR}/libmediadeviceinfo
  49. ${CONAN_INCLUDE_DIRS_PORTAUDIO}
  50. ${CONAN_INCLUDE_DIRS_FFMPEG}
  51. ${CONAN_INCLUDE_DIRS_IPP}
  52. ${CONAN_INCLUDE_DIRS_SPEEXDSP}
  53. ${CONAN_INCLUDE_DIRS_APR}/apr-1
  54. ${CONAN_INCLUDE_DIRS_SPANDSP}
  55. )
  56. endif(NOT WIN32)
  57. if(MSVC)
  58. target_link_directories(${MODULE_NAME} PRIVATE
  59. ${CONAN_LIB_DIRS_FFMPEG}
  60. ${CONAN_LIB_DIRS_SPANDSP}
  61. ${CONAN_LIB_DIRS_SPEEXDSP}
  62. ${CONAN_LIB_DIRS_PORTAUDIO}
  63. ${CONAN_LIB_DIRS_IPP}
  64. ${CONAN_LIB_DIRS_APACHE-APR}
  65. ${CONAN_LIB_DIRS_LIB8K}
  66. ${CONAN_LIB_DIRS_LIBYUV}
  67. )
  68. else()
  69. target_link_directories(${MODULE_NAME} PRIVATE
  70. ${CONAN_LIB_DIRS_FFMPEG}
  71. ${CONAN_LIB_DIRS_SPANDSP}
  72. ${CONAN_LIB_DIRS_SPEEXDSP}
  73. ${CONAN_LIB_DIRS_PULSEAUDIO}
  74. ${CONAN_LIB_DIRS_APR}
  75. ${CONAN_LIB_DIRS_SOFIA}
  76. ${CONAN_LIB_DIRS_ZLIB}
  77. ${CONAN_LIB_DIRS_OPENCV}
  78. )
  79. endif(MSVC)
  80. # 添加实体需要依赖的其他共享库(包括系统库)
  81. if(WIN32)
  82. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  83. ${CONAN_PKG_LIBS_IPP}
  84. ${CONAN_PKG_LIBS_PORTAUDIO}
  85. ${CONAN_PKG_LIBS_FFMPEG}
  86. ${CONAN_PKG_LIBS_APACHE-APR}
  87. ${CONAN_PKG_LIBS_LIB8K}
  88. ws2_32
  89. strmiids
  90. winmm
  91. Vfw32
  92. ole32
  93. #libaudioframework
  94. libvideoframework
  95. audioqueue
  96. videoqueue
  97. libvideohorflip
  98. audiorender
  99. )
  100. else(WIN32)
  101. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  102. ${CONAN_PKG_LIBS_FFMPEG}
  103. mediadeviceinfo
  104. videocapture
  105. asound
  106. libaudioframework
  107. libvideoframework
  108. audioqueue
  109. videoqueue
  110. ${CONAN_PKG_LIBS_APR}
  111. ${CONAN_PKG_LIBS_SPANDSP}
  112. ${CONAN_PKG_LIBS_SPEEXDSP}
  113. audiomgr
  114. )
  115. endif(WIN32)
  116. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
  117. deploy_module(${MODULE_PREFIX} ${MODULE_NAME})