obs-studio/plugins/linux-v4l2/CMakeLists.txt
PatTheMav 349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00

32 lines
934 B
CMake

project(linux-v4l2)
option(ENABLE_V4L2 "Build OBS with v4l2 support" ON)
if(NOT ENABLE_V4L2)
obs_status(DISABLED "linux-v4l2")
return()
endif()
option(ENABLE_UDEV "Build linux-v4l2 with UDEV support" ON)
find_package(Libv4l2 REQUIRED)
find_package(FFmpeg REQUIRED COMPONENTS avcodec avutil avformat)
add_library(linux-v4l2 MODULE)
add_library(OBS::v4l2 ALIAS linux-v4l2)
target_sources(linux-v4l2 PRIVATE linux-v4l2.c v4l2-controls.c v4l2-input.c v4l2-helpers.c v4l2-output.c v4l2-decoder.c)
target_link_libraries(linux-v4l2 PRIVATE OBS::libobs LIB4L2::LIB4L2 FFmpeg::avcodec FFmpeg::avformat FFmpeg::avutil)
set_target_properties(linux-v4l2 PROPERTIES FOLDER "plugins")
if(ENABLE_UDEV)
find_package(Udev REQUIRED)
target_sources(linux-v4l2 PRIVATE v4l2-udev.c)
target_link_libraries(linux-v4l2 PRIVATE Udev::Udev)
target_compile_definitions(linux-v4l2 PRIVATE HAVE_UDEV)
endif()
setup_plugin_target(linux-v4l2)