CMakeLists.txt 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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(mac-virtualcam)
  33. add_subdirectory(decklink/mac)
  34. add_subdirectory(vlc-video)
  35. add_subdirectory(linux-jack)
  36. elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
  37. add_subdirectory(linux-capture)
  38. add_subdirectory(linux-pulseaudio)
  39. add_subdirectory(linux-v4l2)
  40. add_subdirectory(linux-jack)
  41. add_subdirectory(linux-alsa)
  42. add_subdirectory(decklink/linux)
  43. add_subdirectory(vlc-video)
  44. elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
  45. add_subdirectory(linux-capture)
  46. add_subdirectory(linux-pulseaudio)
  47. add_subdirectory(linux-v4l2)
  48. add_subdirectory(linux-jack)
  49. add_subdirectory(linux-alsa)
  50. add_subdirectory(vlc-video)
  51. add_subdirectory(oss-audio)
  52. endif()
  53. option(BUILD_BROWSER "Build browser plugin" OFF)
  54. if (BUILD_BROWSER)
  55. if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt")
  56. add_subdirectory(obs-browser)
  57. set(BROWSER_AVAILABLE_INTERNAL ON CACHE BOOL "Internal global cmake variable" FORCE)
  58. else()
  59. message(STATUS "obs-browser submodule not found! Please fetch submodules. obs-browser plugin disabled.")
  60. set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE)
  61. endif()
  62. else()
  63. set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE)
  64. endif()
  65. if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-vst/CMakeLists.txt")
  66. add_subdirectory(obs-vst)
  67. else()
  68. message(STATUS "obs-vst submodule not found! Please fetch/update submodules. obs-vst plugin disabled.")
  69. endif()
  70. add_subdirectory(image-source)
  71. add_subdirectory(obs-x264)
  72. add_subdirectory(obs-libfdk)
  73. add_subdirectory(obs-ffmpeg)
  74. add_subdirectory(obs-outputs)
  75. add_subdirectory(obs-filters)
  76. add_subdirectory(obs-transitions)
  77. add_subdirectory(obs-text)
  78. add_subdirectory(rtmp-services)
  79. add_subdirectory(text-freetype2)