obs-studio/plugins/obs-vst/CMakeLists.txt
PatTheMav 349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00

57 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.16...3.25)
legacy_check()
option(ENABLE_VST "Enable building OBS with VST plugin" ON)
if(NOT ENABLE_VST)
target_disable(obs-vst)
return()
endif()
add_library(obs-vst MODULE)
add_library(OBS::vst ALIAS obs-vst)
find_qt(COMPONENTS Widgets)
target_sources(
obs-vst
PRIVATE obs-vst.cpp
VSTPlugin.cpp
EditorWidget.cpp
headers/vst-plugin-callbacks.hpp
headers/EditorWidget.h
headers/VSTPlugin.h
vst_header/aeffectx.h)
target_include_directories(obs-vst PRIVATE vst_header)
target_link_libraries(obs-vst PRIVATE OBS::libobs Qt::Widgets)
if(OS_MACOS)
find_library(FOUNDATION Foundation)
find_library(COCOA Cocoa)
mark_as_advanced(COCOA FOUNDATION)
target_sources(obs-vst PRIVATE mac/VSTPlugin-osx.mm mac/EditorWidget-osx.mm)
target_link_libraries(obs-vst PRIVATE ${COCOA} ${FOUNDATION})
elseif(OS_WINDOWS)
target_sources(obs-vst PRIVATE win/VSTPlugin-win.cpp win/EditorWidget-win.cpp)
set_property(
TARGET obs-vst
APPEND
PROPERTY AUTORCC_OPTIONS --format-version 1)
elseif(OS_POSIX)
target_sources(obs-vst PRIVATE linux/VSTPlugin-linux.cpp linux/EditorWidget-linux.cpp)
endif()
set_target_properties_obs(
obs-vst
PROPERTIES FOLDER plugins
PREFIX ""
AUTOMOC ON
AUTOUIC ON
AUTORCC ON)