legacy.cmake 934 B

12345678910111213141516171819202122232425262728293031
  1. project(linux-v4l2)
  2. option(ENABLE_V4L2 "Build OBS with v4l2 support" ON)
  3. if(NOT ENABLE_V4L2)
  4. obs_status(DISABLED "linux-v4l2")
  5. return()
  6. endif()
  7. option(ENABLE_UDEV "Build linux-v4l2 with UDEV support" ON)
  8. find_package(Libv4l2 REQUIRED)
  9. find_package(FFmpeg REQUIRED COMPONENTS avcodec avutil avformat)
  10. add_library(linux-v4l2 MODULE)
  11. add_library(OBS::v4l2 ALIAS linux-v4l2)
  12. target_sources(linux-v4l2 PRIVATE linux-v4l2.c v4l2-controls.c v4l2-input.c v4l2-helpers.c v4l2-output.c v4l2-decoder.c)
  13. target_link_libraries(linux-v4l2 PRIVATE OBS::libobs LIB4L2::LIB4L2 FFmpeg::avcodec FFmpeg::avformat FFmpeg::avutil)
  14. set_target_properties(linux-v4l2 PROPERTIES FOLDER "plugins")
  15. if(ENABLE_UDEV)
  16. find_package(Udev REQUIRED)
  17. target_sources(linux-v4l2 PRIVATE v4l2-udev.c)
  18. target_link_libraries(linux-v4l2 PRIVATE Udev::Udev)
  19. target_compile_definitions(linux-v4l2 PRIVATE HAVE_UDEV)
  20. endif()
  21. setup_plugin_target(linux-v4l2)