CMakeLists.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. option(DISABLE_PLUGINS "Disable building of OBS plugins" OFF)
  2. if(DISABLE_PLUGINS)
  3. message(STATUS "DISABLE_PLUGINS is set; building of plugins is disabled.")
  4. return()
  5. endif()
  6. if(WIN32)
  7. option(BUILD_CA_ENCODER "Build CoreAudio encoder module" ON)
  8. if (BUILD_CA_ENCODER)
  9. add_subdirectory(coreaudio-encoder)
  10. endif()
  11. add_subdirectory(win-wasapi)
  12. add_subdirectory(win-dshow)
  13. add_subdirectory(win-capture)
  14. add_subdirectory(decklink/win)
  15. add_subdirectory(win-mf)
  16. add_subdirectory(obs-qsv11)
  17. add_subdirectory(vlc-video)
  18. if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/enc-amf/CMakeLists.txt")
  19. add_subdirectory(enc-amf)
  20. else()
  21. message(STATUS "enc-amf submodule not found! Please fetch submodules. enc-amf plugin disabled.")
  22. endif()
  23. if (MSVC)
  24. add_subdirectory(win-ivcam)
  25. endif()
  26. elseif(APPLE)
  27. add_subdirectory(coreaudio-encoder)
  28. add_subdirectory(mac-avcapture)
  29. add_subdirectory(mac-capture)
  30. add_subdirectory(mac-vth264)
  31. add_subdirectory(mac-syphon)
  32. add_subdirectory(decklink/mac)
  33. add_subdirectory(vlc-video)
  34. add_subdirectory(linux-jack)
  35. elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
  36. add_subdirectory(linux-capture)
  37. add_subdirectory(linux-pulseaudio)
  38. add_subdirectory(linux-v4l2)
  39. add_subdirectory(linux-jack)
  40. add_subdirectory(linux-alsa)
  41. add_subdirectory(decklink/linux)
  42. add_subdirectory(vlc-video)
  43. elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
  44. add_subdirectory(linux-capture)
  45. add_subdirectory(linux-pulseaudio)
  46. add_subdirectory(linux-v4l2)
  47. add_subdirectory(linux-jack)
  48. endif()
  49. if(WIN32 OR APPLE)
  50. option(BUILD_BROWSER "Build browser plugin" OFF)
  51. if (BUILD_BROWSER)
  52. if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt")
  53. add_subdirectory(obs-browser)
  54. else()
  55. message(STATUS "obs-browser submodule not found! Please fetch submodules. obs-browser plugin disabled.")
  56. endif()
  57. endif()
  58. if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-vst/CMakeLists.txt")
  59. add_subdirectory(obs-vst)
  60. else()
  61. message(STATUS "obs-vst submodule not found! Please fetch/update submodules. obs-vst plugin disabled.")
  62. endif()
  63. endif()
  64. add_subdirectory(image-source)
  65. add_subdirectory(obs-x264)
  66. add_subdirectory(obs-libfdk)
  67. add_subdirectory(obs-ffmpeg)
  68. add_subdirectory(obs-outputs)
  69. add_subdirectory(obs-filters)
  70. add_subdirectory(obs-transitions)
  71. add_subdirectory(obs-text)
  72. add_subdirectory(rtmp-services)
  73. add_subdirectory(text-freetype2)