char/char-rtc-obs
git clone https://git.t4t.associates/char/char-rtc-obs
35e5e7d
main
1project ( char-rtc-obs ) 2 3find_package ( Corrosion QUIET ) 4if ( NOT Corrosion_FOUND) 5include ( FetchContent ) 6FetchContent_Declare ( 7Corrosion 8GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git 9GIT_TAG v0.3.1 ) 10FetchContent_MakeAvailable ( Corrosion ) 11endif () 12 13set ( CHAR_RTC_GENERATED_DIR " ${ CMAKE_CURRENT_BINARY_DIR } /generated" ) 14 15corrosion_import_crate ( MANIFEST_PATH rtc-backend/Cargo.toml ) 16corrosion_set_env_vars ( 17char-rtc-backend "CHAR_RTC_GENERATED_DIR= ${ CHAR_RTC_GENERATED_DIR } " 18"CHAR_RTC_OBS_VERSION= ${ OBS_VERSION_CANONICAL } " ) 19 20# Force dependent crates to link against the correct deployment target 21if ( OS_MACOS) 22corrosion_set_env_vars ( 23char-rtc-backend 24"CFLAGS_aarch64_apple_darwin=-mmacosx-version-min= ${ CMAKE_OSX_DEPLOYMENT_TARGET } " 25"CFLAGS_x86_64_apple_darwin=-mmacosx-version-min= ${ CMAKE_OSX_DEPLOYMENT_TARGET } " 26) 27corrosion_add_target_rustflags ( 28char-rtc-backend 29-Clink-arg=-mmacosx-version-min= ${ CMAKE_OSX_DEPLOYMENT_TARGET }) 30endif () 31 32set ( CMAKE_PREFIX_PATH " ${ QTDIR } " ) 33set ( CMAKE_INCLUDE_CURRENT_DIR ON ) 34find_qt ( COMPONENTS Core Widgets Gui ) 35 36add_library ( char-rtc-obs MODULE ) 37 38target_sources ( char-rtc-obs PRIVATE 39char-rtc.c 40whip-service.c whip-service.h 41whip-output.c whip-output.h 42whip-setup.cpp whip-setup.h 43" ${ CHAR_RTC_GENERATED_DIR } /bindings.h" 44) 45set_source_files_properties ( " ${ CHAR_RTC_GENERATED_DIR } /bindings.h" 46PROPERTIES GENERATED TRUE ) 47 48target_link_libraries ( char-rtc-obs char-rtc-backend 49OBS::libobs OBS::frontend-api 50Qt::Core Qt::Widgets Qt::Gui ) 51target_include_directories ( char-rtc-obs PRIVATE ${ CHAR_RTC_GENERATED_DIR } ${ Qt5Core_INCLUDES } ${ Qt5Widgets_INCLUDES } ${ Qt5Gui_INCLUDES }) 52 53if ( OS_WINDOWS) 54set ( MODULE_DESCRIPTION "live.umm.gay module" ) 55configure_file ( " ${ CMAKE_SOURCE_DIR } /cmake/bundle/windows/obs-module.rc.in" 56char-rtc-obs.rc ) 57target_sources ( char-rtc-obs PRIVATE char-rtc-obs.rc ) 58endif () 59 60if ( OS_MACOS) 61find_library ( COREFOUNDATION CoreFoundation ) 62find_library ( SECURITY_FRAMEWORK Security ) 63find_library ( SYSTEMCONFIGURATION SystemConfiguration ) 64mark_as_advanced ( COREFOUNDATION SECURITY_FRAMEWOR SYSTEMCONFIGURATION ) 65target_link_libraries ( char-rtc-obs ${ COREFOUNDATION } ${ SECURITY_FRAMEWORK } 66${ SYSTEMCONFIGURATION }) 67endif () 68 69set_target_properties ( char-rtc-obs PROPERTIES FOLDER "plugins" ) 70 71setup_plugin_target ( char-rtc-obs data )