CMakeLists.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. set(MODULE_NAME "libvideorecord")
  2. set(MODULE_PREFIX "LIBVIDEORECORD_FUNC")
  3. add_definitions(-D__STDC_CONSTANT_MACROS)
  4. set(CUSTOM_OPENCV_INCLUDES_DIR ${CONAN_INCLUDE_DIRS_OPENCV})
  5. set(CUSTOM_OPENCV_LIBS_DIR ${CONAN_LIB_DIRS_OPENCV})
  6. set(CUSTOM_OPENCV_LIBS ${CONAN_LIBS_OPENCV})
  7. set(${MODULE_PREFIX}_SRCS
  8. libvideorecord.h
  9. libvideorecord.cpp
  10. libvideorecord_impl.h
  11. libvideorecord_impl.cpp
  12. FFmpegWriter.h
  13. FFmpegWriter.cpp
  14. ByteBuffer.h
  15. ByteBuffer.cpp
  16. CvxText.h
  17. CvxText.cpp
  18. )
  19. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  20. message(STATUS "freetype2: ${CONAN_INCLUDE_DIRS_FREETYPE}")
  21. target_include_directories(${MODULE_NAME} PRIVATE
  22. ${RVC_COMMON_INCLUDE_DIR}
  23. ${CONAN_INCLUDE_DIRS_FFMPEG}
  24. ${CONAN_INCLUDE_DIRS_FREETYPE}
  25. ${CONAN_INCLUDE_DIRS_SPEEXDSP}
  26. ${CUSTOM_OPENCV_INCLUDES_DIR}
  27. ${CUSTOM_OPENCV_INCLUDES_DIR}/opencv
  28. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
  29. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
  30. ${OTHER_LIB_PLATFORM_BASE_DIR}/libaudions
  31. ${OTHER_LIB_PLATFORM_BASE_DIR}/rvcmediacommon/common_video
  32. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
  33. )
  34. if(MSVC)
  35. target_link_directories(${MODULE_NAME} PRIVATE
  36. ${CONAN_LIB_DIRS_FFMPEG}
  37. ${CONAN_LIB_DIRS_SPEEXDSP}
  38. ${CUSTOM_OPENCV_LIBS_DIR}
  39. ${CONAN_LIB_DIRS_FREETYPE}
  40. audioqueue
  41. videoqueue
  42. libaudions
  43. )
  44. else(MSVC)
  45. target_link_directories(${MODULE_NAME} PRIVATE
  46. ${CONAN_LIB_DIRS_FFMPEG}
  47. ${CONAN_LIB_DIRS_SPEEXDSP}
  48. ${CUSTOM_OPENCV_LIBS_DIR}
  49. ${CONAN_LIB_DIRS_FREETYPE}
  50. audioqueue
  51. videoqueue
  52. libaudions
  53. )
  54. endif(MSVC)
  55. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS} PRIVATE
  56. legacy_stdio_definitions
  57. ${CONAN_LIBS_FFMPEG}
  58. ${CONAN_LIBS_SPEEXDSP}
  59. ${CUSTOM_OPENCV_LIBS}
  60. ${CONAN_LIBS_FREETYPE}
  61. audioqueue
  62. videoqueue
  63. libaudions
  64. )
  65. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBVIDEORECORD_EXPORTS")
  66. if(MSVC)
  67. install(TARGETS ${MODULE_NAME}
  68. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  69. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  70. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  71. )
  72. else()
  73. install(TARGETS ${MODULE_NAME}
  74. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  75. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  76. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  77. COMPONENT libraries)
  78. endif(MSVC)
  79. if(MSVC)
  80. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  81. else()
  82. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} ${CONAN_BIN_DIRS_OPENCV} PARENT_SCOPE)
  83. ENDIF(MSVC)
  84. set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "other/")