project(win-decklink) if(DISABLE_DECKLINK) message(STATUS "decklink plugin disabled") return() endif() include(IDLFileHelper) include_directories(${CMAKE_SOURCE_DIR}/deps/libcaption) set(win-decklink-sdk_IDLS decklink-sdk/DeckLinkAPI.idl ) set(win-decklink-sdk_HEADERS decklink-sdk/DeckLinkAPIVersion.h ) set(win-decklink_HEADERS ../decklink-devices.hpp ../DecklinkOutput.hpp ../const.h ../platform.hpp ../DecklinkInput.hpp ../DecklinkBase.h ../decklink-device-instance.hpp ../decklink-device-discovery.hpp ../decklink-device.hpp ../decklink-device-mode.hpp ../audio-repack.h ../audio-repack.hpp ../util.hpp ../OBSVideoFrame.h ) set(MODULE_DESCRIPTION "OBS DeckLink Windows module") configure_file(${CMAKE_SOURCE_DIR}/cmake/winrc/obs-module.rc.in win-decklink.rc) set(win-decklink_SOURCES ../plugin-main.cpp ../decklink-devices.cpp ../DecklinkOutput.cpp ../decklink-source.cpp ../decklink-output.cpp ../DecklinkInput.cpp ../DecklinkBase.cpp ../decklink-device-instance.cpp ../decklink-device-discovery.cpp ../decklink-device.cpp ../decklink-device-mode.cpp ../audio-repack.c platform.cpp ../util.cpp win-decklink.rc ../OBSVideoFrame.cpp) add_idl_files(win-decklink-sdk_GENERATED_FILES ${win-decklink-sdk_IDLS} ) include_directories( ${CMAKE_CURRENT_BINARY_DIR} "${CMAKE_SOURCE_DIR}/UI/obs-frontend-api" ) add_library(win-decklink MODULE ${win-decklink_SOURCES} ${win-decklink_HEADERS} ${win-decklink-sdk_HEADERS} ${win-decklink-sdk_GENERATED_FILES} ) target_link_libraries(win-decklink libobs obs-frontend-api caption) set_target_properties(win-decklink PROPERTIES FOLDER "plugins/decklink") install_obs_plugin_with_data(win-decklink ../data)