CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. cmake_minimum_required(VERSION 3.16...3.25)
  2. legacy_check()
  3. option(ENABLE_VST "Enable building OBS with VST plugin" ON)
  4. if(NOT ENABLE_VST)
  5. target_disable(obs-vst)
  6. return()
  7. endif()
  8. add_library(obs-vst MODULE)
  9. add_library(OBS::vst ALIAS obs-vst)
  10. find_qt(COMPONENTS Widgets)
  11. target_sources(
  12. obs-vst
  13. PRIVATE obs-vst.cpp
  14. VSTPlugin.cpp
  15. EditorWidget.cpp
  16. headers/vst-plugin-callbacks.hpp
  17. headers/EditorWidget.h
  18. headers/VSTPlugin.h
  19. vst_header/aeffectx.h)
  20. target_include_directories(obs-vst PRIVATE vst_header)
  21. target_link_libraries(obs-vst PRIVATE OBS::libobs Qt::Widgets)
  22. if(OS_MACOS)
  23. find_library(FOUNDATION Foundation)
  24. find_library(COCOA Cocoa)
  25. mark_as_advanced(COCOA FOUNDATION)
  26. target_sources(obs-vst PRIVATE mac/VSTPlugin-osx.mm mac/EditorWidget-osx.mm)
  27. target_link_libraries(obs-vst PRIVATE ${COCOA} ${FOUNDATION})
  28. elseif(OS_WINDOWS)
  29. target_sources(obs-vst PRIVATE win/VSTPlugin-win.cpp win/EditorWidget-win.cpp)
  30. set_property(
  31. TARGET obs-vst
  32. APPEND
  33. PROPERTY AUTORCC_OPTIONS --format-version 1)
  34. elseif(OS_POSIX)
  35. target_sources(obs-vst PRIVATE linux/VSTPlugin-linux.cpp linux/EditorWidget-linux.cpp)
  36. endif()
  37. set_target_properties_obs(
  38. obs-vst
  39. PROPERTIES FOLDER plugins
  40. PREFIX ""
  41. AUTOMOC ON
  42. AUTOUIC ON
  43. AUTORCC ON)