obs-studio/plugins/CMakeLists.txt
jp9000 8b936a1575 cmake: Fix UI being dependent on browser plugin files
The UI currently is dependent on browser source files being present,
when in actuality the files may not have been fetched (i.e. not fetching
submodules).  This fixes that by using a macro to detect whether it's
available or not.

Closes obsproject/obs-studio#1490
2018-09-18 08:56:34 -07:00

82 lines
2.6 KiB
CMake

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(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)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
add_subdirectory(linux-capture)
add_subdirectory(linux-pulseaudio)
add_subdirectory(linux-v4l2)
add_subdirectory(linux-jack)
endif()
if(WIN32 OR APPLE)
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 "Interal 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 "Interal global cmake variable" FORCE)
endif()
else()
set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Interal 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()
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)