CMakeLists.txt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. add_subdirectory(linux-alsa)
  49. add_subdirectory(vlc-video)
  50. add_subdirectory(oss-audio)
  51. endif()
  52. option(BUILD_BROWSER "Build browser plugin" OFF)
  53. if (BUILD_BROWSER)
  54. if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt")
  55. add_subdirectory(obs-browser)
  56. set(BROWSER_AVAILABLE_INTERNAL ON CACHE BOOL "Internal global cmake variable" FORCE)
  57. else()
  58. message(STATUS "obs-browser submodule not found! Please fetch submodules. obs-browser plugin disabled.")
  59. set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE)
  60. endif()
  61. else()
  62. set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE)
  63. endif()
  64. if(WIN32 OR APPLE)
  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. endif()
  71. add_subdirectory(image-source)
  72. add_subdirectory(obs-x264)
  73. add_subdirectory(obs-libfdk)
  74. add_subdirectory(obs-ffmpeg)
  75. add_subdirectory(obs-outputs)
  76. add_subdirectory(obs-filters)
  77. add_subdirectory(obs-transitions)
  78. add_subdirectory(obs-text)
  79. add_subdirectory(rtmp-services)
  80. add_subdirectory(text-freetype2)