CMakeLists.txt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. set(MODULE_NAME "showdev")
  2. set(MODULE_PREFIX "SHOWDEV_FUNC")
  3. if(RVC_DEBUG_MODE)
  4. set(TOOLKIT_LIB libtoolkitd)
  5. else()
  6. set(TOOLKIT_LIB libtoolkit)
  7. endif(RVC_DEBUG_MODE)
  8. set(${MODULE_PREFIX}_SRCS
  9. main.cpp
  10. )
  11. add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
  12. target_include_directories(${MODULE_NAME} PRIVATE
  13. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioframework
  14. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
  15. ${CONAN_INCLUDE_DIRS_APACHE-APR}/include
  16. ${CONAN_INCLUDE_DIRS_PORTAUDIO}
  17. ${CONAN_INCLUDE_DIRS_PORTAUDIO}/common
  18. ${RVC_TOOLKIT_INCLUDE_DIR}
  19. ${RVC_FRAMEWORK_INCLUDES_DIR}
  20. ${CONAN_INCLUDE_DIRS_FFMPEG}
  21. ${CONAN_INCLUDE_DIRS_SPANDSP}
  22. )
  23. target_link_directories(${MODULE_NAME} PRIVATE
  24. ${CONAN_LIB_DIRS_APACHE-APR}
  25. ${CONAN_LIB_DIRS_PORTAUDIO}
  26. ${CONAN_LIB_DIRS_FFMPEG}
  27. ${CONAN_LIB_DIRS_LIB8K}
  28. ${CONAN_LIB_DIRS_SPANDSP}
  29. ${CONAN_LIB_DIRS_ALSA}
  30. ${CONAN_LIB_DIRS_SOFIA}
  31. ${CONAN_LIB_DIRS_IPP}
  32. ${CONAN_LIB_DIRS_SPEEXDSP}
  33. ${CONAN_LIB_DIRS_LIBYUV}
  34. )
  35. # 添加实体需要依赖的其他共享库(包括系统库)
  36. if(WIN32)
  37. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS} PRIVATE
  38. ${CONAN_PKG_LIBS_PORTAUDIO} PRIVATE
  39. ${TOOLKIT_LIB} PRIVATE
  40. ${CONAN_PKG_LIBS_FFMPEG} PRIVATE
  41. ${CONAN_PKG_LIBS_APACHE-APR} PRIVATE
  42. ${CONAN_PKG_LIBS_LIB8K} PRIVATE
  43. ${CONAN_PKG_LIBS_SPANDSP} PRIVATE
  44. libaudioframework PRIVATE
  45. libvideoframework PRIVATE
  46. libvideohorflip PRIVATE
  47. ws2_32 PRIVATE
  48. strmiids)
  49. else(WIN32)
  50. message(STATUS "CONAN_LIB_DIRS_ALSA ${CONAN_LIB_DIRS_ALSA}")
  51. message(STATUS "CONAN_PKG_LIBS_ALSA ${CONAN_PKG_LIBS_ALSA}")
  52. set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS}
  53. ${CONAN_PKG_LIBS_PORTAUDIO}
  54. # mediadeviceinfo
  55. pthread
  56. m
  57. asound
  58. dl
  59. )
  60. endif(WIN32)
  61. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS})
  62. if(RVC_DEBUG_MODE)
  63. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBDEBUG_MODE")
  64. else()
  65. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBRELEASE_MODE")
  66. endif(RVC_DEBUG_MODE)
  67. if(MSVC)
  68. install(TARGETS ${MODULE_NAME}
  69. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  70. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  71. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  72. )
  73. else()
  74. install(TARGETS ${MODULE_NAME}
  75. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  76. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  77. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  78. COMPONENT libraries)
  79. endif(MSVC)
  80. # 设置要依赖拷贝的第三方库
  81. if(MSVC)
  82. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  83. else()
  84. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} PARENT_SCOPE)
  85. ENDIF(MSVC)
  86. set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "other/")