option(DISABLE_PLUGINS "Disable building of OBS plugins" OFF) if(DISABLE_PLUGINS) message(STATUS "DISABLE_PLUGINS is set; building of plugins is disabled.") return() endif() if(WIN32) option(BUILD_CA_ENCODER "Build CoreAudio encoder module" ON) if (BUILD_CA_ENCODER) add_subdirectory(coreaudio-encoder) endif() add_subdirectory(win-wasapi) add_subdirectory(win-dshow) add_subdirectory(win-capture) add_subdirectory(decklink/win) add_subdirectory(win-mf) add_subdirectory(obs-qsv11) add_subdirectory(vlc-video) if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/enc-amf/CMakeLists.txt") add_subdirectory(enc-amf) else() message(STATUS "enc-amf submodule not found! Please fetch submodules. enc-amf plugin disabled.") endif() if (MSVC) add_subdirectory(win-ivcam) endif() elseif(APPLE) add_subdirectory(coreaudio-encoder) add_subdirectory(mac-avcapture) add_subdirectory(mac-capture) add_subdirectory(mac-vth264) add_subdirectory(mac-syphon) add_subdirectory(mac-virtualcam) add_subdirectory(decklink/mac) add_subdirectory(vlc-video) add_subdirectory(linux-jack) elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") add_subdirectory(linux-capture) add_subdirectory(linux-pulseaudio) add_subdirectory(linux-v4l2) add_subdirectory(linux-jack) add_subdirectory(linux-alsa) add_subdirectory(decklink/linux) add_subdirectory(vlc-video) add_subdirectory(sndio) elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD") add_subdirectory(linux-capture) add_subdirectory(linux-pulseaudio) add_subdirectory(linux-v4l2) add_subdirectory(linux-jack) add_subdirectory(linux-alsa) add_subdirectory(vlc-video) add_subdirectory(oss-audio) add_subdirectory(sndio) elseif("${CMAKE_SYSTEM_NAME}" MATCHES "OpenBSD") add_subdirectory(linux-capture) add_subdirectory(sndio) endif() option(BUILD_BROWSER "Build browser plugin" OFF) if (BUILD_BROWSER) if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt") add_subdirectory(obs-browser) set(BROWSER_AVAILABLE_INTERNAL ON CACHE BOOL "Internal global cmake variable" FORCE) else() message(STATUS "obs-browser submodule not found! Please fetch submodules. obs-browser plugin disabled.") set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE) endif() else() set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE) endif() if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-vst/CMakeLists.txt") add_subdirectory(obs-vst) else() message(STATUS "obs-vst submodule not found! Please fetch/update submodules. obs-vst plugin disabled.") endif() add_subdirectory(image-source) add_subdirectory(obs-x264) add_subdirectory(obs-libfdk) add_subdirectory(obs-ffmpeg) add_subdirectory(obs-outputs) add_subdirectory(obs-filters) add_subdirectory(obs-transitions) add_subdirectory(obs-text) add_subdirectory(rtmp-services) add_subdirectory(text-freetype2)