mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-08-24 10:14:13 -05:00
plugins: Add Linux-specific plugins for CMake build framework 3.0
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
project(linux-alsa)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
option(ENABLE_ALSA "Build OBS with ALSA support" ON)
|
||||
|
||||
if(NOT ENABLE_ALSA)
|
||||
obs_status(DISABLED "linux-alsa")
|
||||
target_disable(linux-alsa)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -11,10 +14,8 @@ find_package(ALSA REQUIRED)
|
||||
add_library(linux-alsa MODULE)
|
||||
add_library(OBS::alsa ALIAS linux-alsa)
|
||||
|
||||
target_sources(linux-alsa PRIVATE linux-alsa.c alsa-input.c)
|
||||
|
||||
target_sources(linux-alsa PRIVATE # cmake-format: sortable
|
||||
alsa-input.c linux-alsa.c)
|
||||
target_link_libraries(linux-alsa PRIVATE OBS::libobs ALSA::ALSA)
|
||||
|
||||
set_target_properties(linux-alsa PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-alsa)
|
||||
set_target_properties_obs(linux-alsa PROPERTIES FOLDER plugins PREFIX "")
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
project(linux-alsa)
|
||||
|
||||
option(ENABLE_ALSA "Build OBS with ALSA support" ON)
|
||||
if(NOT ENABLE_ALSA)
|
||||
obs_status(DISABLED "linux-alsa")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(ALSA REQUIRED)
|
||||
|
||||
add_library(linux-alsa MODULE)
|
||||
add_library(OBS::alsa ALIAS linux-alsa)
|
||||
|
||||
target_sources(linux-alsa PRIVATE linux-alsa.c alsa-input.c)
|
||||
|
||||
target_link_libraries(linux-alsa PRIVATE OBS::libobs ALSA::ALSA)
|
||||
|
||||
set_target_properties(linux-alsa PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-alsa)
|
||||
@@ -1,37 +1,45 @@
|
||||
project(linux-capture)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
find_package(X11 REQUIRED)
|
||||
find_package(XCB COMPONENTS XCB XFIXES RANDR SHM XINERAMA COMPOSITE)
|
||||
if(NOT TARGET XCB::COMPOSITE)
|
||||
obs_status(FATAL_ERROR "xcb composite library not found")
|
||||
endif()
|
||||
|
||||
# cmake-format: off
|
||||
find_package(Xcb REQUIRED xcb
|
||||
xcb-xfixes
|
||||
xcb-randr
|
||||
xcb-shm
|
||||
xcb-xinerama
|
||||
xcb-composite)
|
||||
# cmake-format: on
|
||||
|
||||
add_library(linux-capture MODULE)
|
||||
add_library(OBS::capture ALIAS linux-capture)
|
||||
|
||||
target_sources(
|
||||
linux-capture
|
||||
PRIVATE linux-capture.c
|
||||
PRIVATE # cmake-format: sortable
|
||||
linux-capture.c
|
||||
xcomposite-input.c
|
||||
xcomposite-input.h
|
||||
xcursor-xcb.c
|
||||
xcursor-xcb.h
|
||||
xhelpers.c
|
||||
xhelpers.h
|
||||
xshm-input.c
|
||||
xcomposite-input.c
|
||||
xcomposite-input.h)
|
||||
xshm-input.c)
|
||||
|
||||
target_link_libraries(
|
||||
linux-capture
|
||||
PRIVATE OBS::libobs
|
||||
OBS::obsglad
|
||||
OBS::glad
|
||||
X11::X11
|
||||
XCB::XCB
|
||||
XCB::XFIXES
|
||||
XCB::RANDR
|
||||
XCB::SHM
|
||||
XCB::XINERAMA
|
||||
XCB::COMPOSITE)
|
||||
xcb::xcb
|
||||
xcb::xcb-xfixes
|
||||
xcb::xcb-randr
|
||||
xcb::xcb-shm
|
||||
xcb::xcb-xinerama
|
||||
xcb::xcb-composite)
|
||||
|
||||
set_target_properties(linux-capture PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-capture)
|
||||
# cmake-format: off
|
||||
set_target_properties_obs(linux-capture PROPERTIES FOLDER "plugins")
|
||||
# cmake-format: on
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
project(linux-capture)
|
||||
|
||||
find_package(X11 REQUIRED)
|
||||
find_package(XCB COMPONENTS XCB XFIXES RANDR SHM XINERAMA COMPOSITE)
|
||||
if(NOT TARGET XCB::COMPOSITE)
|
||||
obs_status(FATAL_ERROR "xcb composite library not found")
|
||||
endif()
|
||||
|
||||
add_library(linux-capture MODULE)
|
||||
add_library(OBS::capture ALIAS linux-capture)
|
||||
|
||||
target_sources(
|
||||
linux-capture
|
||||
PRIVATE linux-capture.c
|
||||
xcursor-xcb.c
|
||||
xcursor-xcb.h
|
||||
xhelpers.c
|
||||
xhelpers.h
|
||||
xshm-input.c
|
||||
xcomposite-input.c
|
||||
xcomposite-input.h)
|
||||
|
||||
target_link_libraries(
|
||||
linux-capture
|
||||
PRIVATE OBS::libobs
|
||||
OBS::obsglad
|
||||
X11::X11
|
||||
XCB::XCB
|
||||
XCB::XFIXES
|
||||
XCB::RANDR
|
||||
XCB::SHM
|
||||
XCB::XINERAMA
|
||||
XCB::COMPOSITE)
|
||||
|
||||
set_target_properties(linux-capture PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-capture)
|
||||
@@ -1,8 +1,10 @@
|
||||
project(linux-jack)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
option(ENABLE_JACK "Build OBS with JACK support" OFF)
|
||||
if(NOT ENABLE_JACK)
|
||||
obs_status(DISABLED "linux-jack")
|
||||
target_disable(linux-jack)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -11,10 +13,11 @@ find_package(Jack REQUIRED)
|
||||
add_library(linux-jack MODULE)
|
||||
add_library(OBS::jack ALIAS linux-jack)
|
||||
|
||||
target_sources(linux-jack PRIVATE linux-jack.c jack-wrapper.c jack-input.c)
|
||||
target_sources(linux-jack PRIVATE # cmake-format: sortable
|
||||
jack-input.c jack-wrapper.c linux-jack.c)
|
||||
|
||||
target_compile_options(linux-jack PRIVATE $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-error=sign-compare>)
|
||||
|
||||
target_link_libraries(linux-jack PRIVATE OBS::libobs Jack::Jack)
|
||||
|
||||
set_target_properties(linux-jack PROPERTIES FOLDER "plugins" PROJECT_LABEL "JACK Audio")
|
||||
|
||||
setup_plugin_target(linux-jack)
|
||||
set_target_properties_obs(linux-jack PROPERTIES FOLDER plugins PREFIX "" PROJECT_LABEL "JACK Audio")
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
project(linux-jack)
|
||||
|
||||
option(ENABLE_JACK "Build OBS with JACK support" OFF)
|
||||
if(NOT ENABLE_JACK)
|
||||
obs_status(DISABLED "linux-jack")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(Jack REQUIRED)
|
||||
|
||||
add_library(linux-jack MODULE)
|
||||
add_library(OBS::jack ALIAS linux-jack)
|
||||
|
||||
target_sources(linux-jack PRIVATE linux-jack.c jack-wrapper.c jack-input.c)
|
||||
|
||||
target_link_libraries(linux-jack PRIVATE OBS::libobs Jack::Jack)
|
||||
|
||||
set_target_properties(linux-jack PROPERTIES FOLDER "plugins" PROJECT_LABEL "JACK Audio")
|
||||
|
||||
setup_plugin_target(linux-jack)
|
||||
@@ -1,29 +1,34 @@
|
||||
project(linux-pipewire)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
option(ENABLE_PIPEWIRE "Enable PipeWire support" ON)
|
||||
if(NOT ENABLE_PIPEWIRE)
|
||||
obs_status(DISABLED "linux-pipewire")
|
||||
target_disable(linux-pipewire)
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(PipeWire 0.3.33 REQUIRED)
|
||||
find_package(Gio QUIET)
|
||||
find_package(Libdrm QUIET) # we require libdrm/drm_fourcc.h to build
|
||||
|
||||
if(NOT TARGET PipeWire::PipeWire)
|
||||
obs_status(FATAL_ERROR "PipeWire library not found! Please install PipeWire or set ENABLE_PIPEWIRE=OFF.")
|
||||
elseif(NOT TARGET GIO::GIO)
|
||||
obs_status(FATAL_ERROR "Gio library not found! Please install GLib2 (or Gio) or set ENABLE_PIPEWIRE=OFF.")
|
||||
elseif(NOT TARGET Libdrm::Libdrm)
|
||||
obs_status(FATAL_ERROR "libdrm headers not found! Please install libdrm or set ENABLE_PIPEWIRE=OFF.")
|
||||
endif()
|
||||
find_package(Gio REQUIRED)
|
||||
find_package(Libdrm REQUIRED)
|
||||
get_target_property(libdrm_include_directories Libdrm::Libdrm INTERFACE_INCLUDE_DIRECTORIES)
|
||||
|
||||
add_library(linux-pipewire MODULE)
|
||||
add_library(OBS::pipewire ALIAS linux-pipewire)
|
||||
|
||||
if(PipeWire_VERSION VERSION_GREATER_EQUAL 0.3.60)
|
||||
target_enable_feature(linux-pipewire "PipeWire 0.3.60+ camera support")
|
||||
set(_HAS_PIPEWIRE_CAMERA TRUE)
|
||||
else()
|
||||
set(_HAS_PIPEWIRE_CAMERA FALSE)
|
||||
endif()
|
||||
|
||||
target_sources(
|
||||
linux-pipewire
|
||||
PRIVATE formats.c
|
||||
PRIVATE # cmake-format: sortable
|
||||
$<$<BOOL:${_HAS_PIPEWIRE_CAMERA}>:camera-portal.c>
|
||||
$<$<BOOL:${_HAS_PIPEWIRE_CAMERA}>:camera-portal.h>
|
||||
formats.c
|
||||
formats.h
|
||||
linux-pipewire.c
|
||||
pipewire.c
|
||||
@@ -33,14 +38,8 @@ target_sources(
|
||||
screencast-portal.c
|
||||
screencast-portal.h)
|
||||
|
||||
target_link_libraries(linux-pipewire PRIVATE OBS::libobs OBS::obsglad PipeWire::PipeWire GIO::GIO Libdrm::Libdrm)
|
||||
target_include_directories(linux-pipewire PRIVATE ${libdrm_include_directories})
|
||||
|
||||
if(PIPEWIRE_VERSION VERSION_GREATER_EQUAL 0.3.60)
|
||||
obs_status(STATUS "PipeWire 0.3.60+ found, enabling camera support")
|
||||
target_link_libraries(linux-pipewire PRIVATE OBS::libobs OBS::glad PipeWire::PipeWire gio::gio)
|
||||
|
||||
target_sources(linux-pipewire PRIVATE camera-portal.c camera-portal.h)
|
||||
endif()
|
||||
|
||||
set_target_properties(linux-pipewire PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-pipewire)
|
||||
set_target_properties_obs(linux-pipewire PROPERTIES FOLDER plugins PREFIX "")
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
project(linux-pipewire)
|
||||
|
||||
option(ENABLE_PIPEWIRE "Enable PipeWire support" ON)
|
||||
if(NOT ENABLE_PIPEWIRE)
|
||||
obs_status(DISABLED "linux-pipewire")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(PipeWire 0.3.33 REQUIRED)
|
||||
find_package(Gio QUIET)
|
||||
find_package(Libdrm QUIET) # we require libdrm/drm_fourcc.h to build
|
||||
|
||||
if(NOT TARGET PipeWire::PipeWire)
|
||||
obs_status(FATAL_ERROR "PipeWire library not found! Please install PipeWire or set ENABLE_PIPEWIRE=OFF.")
|
||||
elseif(NOT TARGET GIO::GIO)
|
||||
obs_status(FATAL_ERROR "Gio library not found! Please install GLib2 (or Gio) or set ENABLE_PIPEWIRE=OFF.")
|
||||
elseif(NOT TARGET Libdrm::Libdrm)
|
||||
obs_status(FATAL_ERROR "libdrm headers not found! Please install libdrm or set ENABLE_PIPEWIRE=OFF.")
|
||||
endif()
|
||||
|
||||
add_library(linux-pipewire MODULE)
|
||||
add_library(OBS::pipewire ALIAS linux-pipewire)
|
||||
|
||||
target_sources(
|
||||
linux-pipewire
|
||||
PRIVATE formats.c
|
||||
formats.h
|
||||
linux-pipewire.c
|
||||
pipewire.c
|
||||
pipewire.h
|
||||
portal.c
|
||||
portal.h
|
||||
screencast-portal.c
|
||||
screencast-portal.h)
|
||||
|
||||
target_link_libraries(linux-pipewire PRIVATE OBS::libobs OBS::obsglad PipeWire::PipeWire GIO::GIO Libdrm::Libdrm)
|
||||
|
||||
if(PIPEWIRE_VERSION VERSION_GREATER_EQUAL 0.3.60)
|
||||
obs_status(STATUS "PipeWire 0.3.60+ found, enabling camera support")
|
||||
|
||||
target_sources(linux-pipewire PRIVATE camera-portal.c camera-portal.h)
|
||||
endif()
|
||||
|
||||
set_target_properties(linux-pipewire PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-pipewire)
|
||||
@@ -1,7 +1,9 @@
|
||||
project(linux-pulseaudio)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
if(NOT ENABLE_PULSEAUDIO)
|
||||
obs_status(DISABLED "linux-pulseaudio")
|
||||
target_disable(linux-pulseaudio)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -10,12 +12,8 @@ find_package(PulseAudio REQUIRED)
|
||||
add_library(linux-pulseaudio MODULE)
|
||||
add_library(OBS::pulseaudio ALIAS linux-pulseaudio)
|
||||
|
||||
target_sources(linux-pulseaudio PRIVATE linux-pulseaudio.c pulse-wrapper.c pulse-input.c)
|
||||
target_sources(linux-pulseaudio PRIVATE # cmake-format: sortable
|
||||
linux-pulseaudio.c pulse-input.c pulse-wrapper.c)
|
||||
target_link_libraries(linux-pulseaudio PRIVATE OBS::libobs PulseAudio::PulseAudio)
|
||||
|
||||
target_include_directories(linux-pulseaudio PRIVATE ${PULSEAUDIO_INCLUDE_DIR})
|
||||
|
||||
target_link_libraries(linux-pulseaudio PRIVATE OBS::libobs ${PULSEAUDIO_LIBRARY})
|
||||
|
||||
set_target_properties(linux-pulseaudio PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-pulseaudio)
|
||||
set_target_properties_obs(linux-pulseaudio PROPERTIES FOLDER plugins PREFIX "")
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
project(linux-pulseaudio)
|
||||
|
||||
if(NOT ENABLE_PULSEAUDIO)
|
||||
obs_status(DISABLED "linux-pulseaudio")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(PulseAudio REQUIRED)
|
||||
|
||||
add_library(linux-pulseaudio MODULE)
|
||||
add_library(OBS::pulseaudio ALIAS linux-pulseaudio)
|
||||
|
||||
target_sources(linux-pulseaudio PRIVATE linux-pulseaudio.c pulse-wrapper.c pulse-input.c)
|
||||
|
||||
target_include_directories(linux-pulseaudio PRIVATE ${PULSEAUDIO_INCLUDE_DIR})
|
||||
|
||||
target_link_libraries(linux-pulseaudio PRIVATE OBS::libobs ${PULSEAUDIO_LIBRARY})
|
||||
|
||||
set_target_properties(linux-pulseaudio PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(linux-pulseaudio)
|
||||
@@ -1,31 +1,43 @@
|
||||
project(linux-v4l2)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
option(ENABLE_V4L2 "Build OBS with v4l2 support" ON)
|
||||
option(ENABLE_UDEV "Build linux-v4l2 with UDEV support" ON)
|
||||
|
||||
if(NOT ENABLE_V4L2)
|
||||
obs_status(DISABLED "linux-v4l2")
|
||||
target_disable(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)
|
||||
|
||||
if(OS_FREEBSD OR OS_OPENBSD)
|
||||
set(CMAKE_REQUIRED_INCLUDES "/usr/local/include")
|
||||
endif()
|
||||
include(CheckCSourceCompiles)
|
||||
set(V4L_TEST_SOURCE "#include<linux/videodev2.h>\nint main(){return 0;}")
|
||||
check_c_source_compiles("${V4L_TEST_SOURCE}" HAVE_VIDEODEV2_HEADER)
|
||||
|
||||
if(NOT HAVE_VIDEODEV2_HEADER)
|
||||
message(FATAL_ERROR "Required system header <linux/videodev2.h> not found.")
|
||||
endif()
|
||||
|
||||
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_sources(linux-v4l2 PRIVATE # cmake-format: sortable
|
||||
linux-v4l2.c v4l2-controls.c v4l2-decoder.c v4l2-helpers.c v4l2-input.c v4l2-output.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")
|
||||
target_link_libraries(linux-v4l2 PRIVATE OBS::libobs Libv4l2::Libv4l2 FFmpeg::avcodec FFmpeg::avformat FFmpeg::avutil)
|
||||
|
||||
if(ENABLE_UDEV)
|
||||
find_package(Udev REQUIRED)
|
||||
find_package(Libudev REQUIRED)
|
||||
target_sources(linux-v4l2 PRIVATE v4l2-udev.c)
|
||||
|
||||
target_link_libraries(linux-v4l2 PRIVATE Udev::Udev)
|
||||
target_link_libraries(linux-v4l2 PRIVATE Libudev::Libudev)
|
||||
target_compile_definitions(linux-v4l2 PRIVATE HAVE_UDEV)
|
||||
endif()
|
||||
|
||||
setup_plugin_target(linux-v4l2)
|
||||
set_target_properties_obs(linux-v4l2 PROPERTIES FOLDER plugins PREFIX "")
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
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)
|
||||
@@ -1,9 +1,10 @@
|
||||
project(obs-libfdk)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
option(ENABLE_LIBFDK "Enable FDK AAC support" OFF)
|
||||
|
||||
if(NOT ENABLE_LIBFDK)
|
||||
obs_status(DISABLED "obs-libfdk")
|
||||
target_disable(obs-libfdk)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -14,8 +15,6 @@ add_library(OBS::libfdk ALIAS obs-libfdk)
|
||||
|
||||
target_sources(obs-libfdk PRIVATE obs-libfdk.c)
|
||||
|
||||
target_link_libraries(obs-libfdk PRIVATE OBS::libobs LibFDK::LibFDK)
|
||||
target_link_libraries(obs-libfdk PRIVATE OBS::libobs Libfdk::Libfdk)
|
||||
|
||||
set_target_properties(obs-libfdk PROPERTIES FOLDER "plugins" PREFIX "")
|
||||
|
||||
setup_plugin_target(obs-libfdk)
|
||||
set_target_properties_obs(obs-libfdk PROPERTIES FOLDER plugins PREFIX "")
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
project(obs-libfdk)
|
||||
|
||||
option(ENABLE_LIBFDK "Enable FDK AAC support" OFF)
|
||||
|
||||
if(NOT ENABLE_LIBFDK)
|
||||
obs_status(DISABLED "obs-libfdk")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(Libfdk REQUIRED)
|
||||
|
||||
add_library(obs-libfdk MODULE)
|
||||
add_library(OBS::libfdk ALIAS obs-libfdk)
|
||||
|
||||
target_sources(obs-libfdk PRIVATE obs-libfdk.c)
|
||||
|
||||
target_link_libraries(obs-libfdk PRIVATE OBS::libobs LibFDK::LibFDK)
|
||||
|
||||
set_target_properties(obs-libfdk PROPERTIES FOLDER "plugins" PREFIX "")
|
||||
|
||||
setup_plugin_target(obs-libfdk)
|
||||
@@ -1,9 +1,11 @@
|
||||
project(oss-audio)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
option(ENABLE_OSS "Enable building with OSS audio support" ON)
|
||||
|
||||
if(NOT ENABLE_OSS)
|
||||
obs_status(DISABLED "oss-audio")
|
||||
target_disable(oss-audio)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -16,12 +18,4 @@ target_sources(oss-audio PRIVATE oss-audio.c oss-input.c)
|
||||
|
||||
target_link_libraries(oss-audio PRIVATE OBS::libobs OSS::OSS)
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/oss-platform.h.in oss-platform.h)
|
||||
|
||||
target_include_directories(oss-audio PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
target_sources(oss-audio PRIVATE oss-platform.h)
|
||||
|
||||
set_target_properties(oss-audio PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(oss-audio)
|
||||
set_target_properties_obs(oss-audio PROPERTIES FOLDER plugins PREFIX "")
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
project(oss-audio)
|
||||
|
||||
option(ENABLE_OSS "Enable building with OSS audio support" ON)
|
||||
|
||||
if(NOT ENABLE_OSS)
|
||||
obs_status(DISABLED "oss-audio")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(OSS REQUIRED)
|
||||
|
||||
add_library(oss-audio MODULE)
|
||||
add_library(OBS::oss-audio ALIAS oss-audio)
|
||||
|
||||
target_sources(oss-audio PRIVATE oss-audio.c oss-input.c)
|
||||
|
||||
target_link_libraries(oss-audio PRIVATE OBS::libobs OSS::OSS)
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/oss-platform.h.in oss-platform.h)
|
||||
|
||||
target_include_directories(oss-audio PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
target_sources(oss-audio PRIVATE oss-platform.h)
|
||||
|
||||
set_target_properties(oss-audio PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(oss-audio)
|
||||
@@ -1,8 +1,10 @@
|
||||
project(sndio)
|
||||
cmake_minimum_required(VERSION 3.22...3.25)
|
||||
|
||||
legacy_check()
|
||||
|
||||
option(ENABLE_SNDIO "Build OBS with sndio support" OFF)
|
||||
if(NOT ENABLE_SNDIO)
|
||||
obs_status(DISABLED "sndio")
|
||||
target_disable(sndio)
|
||||
return()
|
||||
endif()
|
||||
|
||||
@@ -13,8 +15,8 @@ add_library(OBS::sndio ALIAS sndio)
|
||||
|
||||
target_sources(sndio PRIVATE sndio.c sndio-input.c)
|
||||
|
||||
target_compile_options(sndio PRIVATE -Wno-error=vla)
|
||||
|
||||
target_link_libraries(sndio PRIVATE OBS::libobs Sndio::Sndio)
|
||||
|
||||
set_target_properties(sndio PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(sndio)
|
||||
set_target_properties_obs(sndio PROPERTIES FOLDER plugins PREFIX "")
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
project(sndio)
|
||||
|
||||
option(ENABLE_SNDIO "Build OBS with sndio support" OFF)
|
||||
if(NOT ENABLE_SNDIO)
|
||||
obs_status(DISABLED "sndio")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_package(Sndio REQUIRED)
|
||||
|
||||
add_library(sndio MODULE)
|
||||
add_library(OBS::sndio ALIAS sndio)
|
||||
|
||||
target_sources(sndio PRIVATE sndio.c sndio-input.c)
|
||||
|
||||
target_link_libraries(sndio PRIVATE OBS::libobs Sndio::Sndio)
|
||||
|
||||
set_target_properties(sndio PROPERTIES FOLDER "plugins")
|
||||
|
||||
setup_plugin_target(sndio)
|
||||
Reference in New Issue
Block a user