CMakeLists.txt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. project(linux-v4l2)
  2. if(DISABLE_V4L2)
  3. message(STATUS "v4l2 plugin disabled")
  4. return()
  5. endif()
  6. if(ENABLE_V4L2)
  7. find_package(Libv4l2 REQUIRED)
  8. else()
  9. find_package(Libv4l2)
  10. if(NOT LIBV4L2_FOUND)
  11. message(STATUS "libv4l2 not found, disabling v4l2 plugin")
  12. return()
  13. endif()
  14. endif()
  15. if(DISABLE_UDEV)
  16. add_definitions(-DHAVE_UDEV)
  17. else()
  18. find_package(UDev)
  19. if(NOT UDEV_FOUND)
  20. message(STATUS "udev disabled for v4l2 plugin")
  21. else()
  22. set(linux-v4l2-udev_SOURCES
  23. v4l2-udev.c
  24. )
  25. endif()
  26. endif()
  27. find_package(FFmpeg REQUIRED
  28. COMPONENTS avcodec avutil avformat)
  29. include_directories(
  30. SYSTEM "${CMAKE_SOURCE_DIR}/libobs"
  31. ${LIBV4L2_INCLUDE_DIRS}
  32. ${FFMPEG_INCLUDE_DIRS}
  33. )
  34. set(linux-v4l2_SOURCES
  35. linux-v4l2.c
  36. v4l2-controls.c
  37. v4l2-input.c
  38. v4l2-helpers.c
  39. v4l2-output.c
  40. v4l2-mjpeg.c
  41. ${linux-v4l2-udev_SOURCES}
  42. )
  43. add_library(linux-v4l2 MODULE
  44. ${linux-v4l2_SOURCES}
  45. )
  46. target_link_libraries(linux-v4l2
  47. libobs
  48. ${LIBV4L2_LIBRARIES}
  49. ${UDEV_LIBRARIES}
  50. ${FFMPEG_LIBRARIES}
  51. )
  52. set_target_properties(linux-v4l2 PROPERTIES FOLDER "plugins")
  53. install_obs_plugin_with_data(linux-v4l2 data)