CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. cmake_minimum_required(VERSION 3.28...3.30)
  2. option(ENABLE_VST "Enable building OBS with VST plugin" ON)
  3. if(NOT ENABLE_VST)
  4. target_disable(obs-vst)
  5. return()
  6. endif()
  7. add_library(obs-vst MODULE)
  8. add_library(OBS::vst ALIAS obs-vst)
  9. find_package(Qt6 REQUIRED Widgets)
  10. target_sources(
  11. obs-vst
  12. PRIVATE
  13. $<$<PLATFORM_ID:Darwin>:mac/EditorWidget-osx.mm>
  14. $<$<PLATFORM_ID:Darwin>:mac/VSTPlugin-osx.mm>
  15. $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:linux/EditorWidget-linux.cpp>
  16. $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:linux/VSTPlugin-linux.cpp>
  17. $<$<PLATFORM_ID:Windows>:win/EditorWidget-win.cpp>
  18. $<$<PLATFORM_ID:Windows>:win/VSTPlugin-win.cpp>
  19. EditorWidget.cpp
  20. headers/EditorWidget.h
  21. headers/vst-plugin-callbacks.hpp
  22. headers/VSTPlugin.h
  23. obs-vst.cpp
  24. vst_header/aeffectx.h
  25. VSTPlugin.cpp
  26. )
  27. target_include_directories(obs-vst PRIVATE vst_header)
  28. target_link_libraries(
  29. obs-vst
  30. PRIVATE
  31. OBS::libobs
  32. Qt::Widgets
  33. "$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa.framework>>"
  34. "$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Foundation.framework>>"
  35. )
  36. if(OS_WINDOWS)
  37. set_property(TARGET obs-vst APPEND PROPERTY AUTORCC_OPTIONS --format-version 1)
  38. endif()
  39. set_target_properties_obs(
  40. obs-vst
  41. PROPERTIES FOLDER plugins
  42. PREFIX ""
  43. AUTOMOC ON
  44. AUTOUIC ON
  45. AUTORCC ON
  46. )