CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. set(MODULE_NAME "videocapture")
  2. set(MODULE_PREFIX "LIB_VIDEOCAPTURE_FUNC")
  3. if(RVC_DEBUG_MODE)
  4. set(SPBASE_LIB spbased)
  5. else()
  6. set(SPBASE_LIB spbase)
  7. endif(RVC_DEBUG_MODE)
  8. if(MSVC)
  9. set(${MODULE_PREFIX}_SRCS
  10. ivideocaptureinterface.h
  11. ivideocaptureinterface.cpp
  12. ./win/videocapture_win.h
  13. ./win/videocapture_win.cpp
  14. )
  15. else()
  16. set(${MODULE_PREFIX}_SRCS
  17. ivideocaptureinterface.h
  18. ivideocaptureinterface.cpp
  19. ./linux/videocapture_linux.h
  20. ./linux/videocapture_linux.cpp
  21. )
  22. endif(MSVC)
  23. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  24. message(STATUS "CONAN_INCLUDE_DIRS_LIBYUV = ${CONAN_INCLUDE_DIRS_LIBYUV}")
  25. target_include_directories(${MODULE_NAME} PRIVATE
  26. ${CMAKE_CURRENT_SOURCE_DIR}
  27. ${OTHER_LIB_PLATFORM_BASE_DIR}/rvcmediacommon
  28. ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
  29. ${CONAN_INCLUDE_DIRS_FFMPEG}
  30. ${CONAN_INCLUDE_DIRS_LIBYUV}
  31. ${CONAN_INCLUDE_DIRS_LIBJPEG}
  32. )
  33. message(STATUS "CONAN_LIB_DIRS_LIBYUV = ${CONAN_LIB_DIRS_LIBYUV}")
  34. target_link_directories(${MODULE_NAME} PRIVATE
  35. ${CONAN_LIB_DIRS_FFMPEG}
  36. ${CONAN_LIB_DIRS_LIBYUV}
  37. ${CONAN_LIB_DIRS_LIBJPEG}
  38. ${CONAN_LIB_DIRS_RVCFRAMEWORK}
  39. )
  40. message(STATUS "CONAN_LIBS_LIBYUV = ${CONAN_LIBS_LIBYUV}")
  41. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS}
  42. ${CONAN_LIBS_FFMPEG}
  43. ${CONAN_LIBS_LIBYUV}
  44. ${CONAN_LIBS_LIBJPEG}
  45. libvideoframework
  46. ${SPBASE_LIB}
  47. )
  48. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBVIDEOCAPTURE_EXPORTS")
  49. if(MSVC)
  50. install(TARGETS ${MODULE_NAME}
  51. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  52. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  53. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  54. )
  55. else()
  56. install(TARGETS ${MODULE_NAME}
  57. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  58. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  59. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  60. COMPONENT libraries)
  61. endif(MSVC)