char/char-rtc-obs

git clone https://git.t4t.associates/char/char-rtc-obs

videogame hackerAdd UI in Tools menu for setup35e5e7d

main
2.3 KiB71 linesraw
1project(char-rtc-obs)
2
3find_package(Corrosion QUIET)
4if(NOT Corrosion_FOUND)
5  include(FetchContent)
6  FetchContent_Declare(
7    Corrosion
8    GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
9    GIT_TAG v0.3.1)
10  FetchContent_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(
17  char-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)
22  corrosion_set_env_vars(
23    char-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  )
27  corrosion_add_target_rustflags(
28    char-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
39	char-rtc.c
40	whip-service.c whip-service.h
41	whip-output.c whip-output.h
42	whip-setup.cpp whip-setup.h
43	"${CHAR_RTC_GENERATED_DIR}/bindings.h"
44  )
45set_source_files_properties("${CHAR_RTC_GENERATED_DIR}/bindings.h"
46  PROPERTIES GENERATED TRUE)
47
48target_link_libraries(char-rtc-obs char-rtc-backend
49	OBS::libobs OBS::frontend-api 
50	Qt::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)
54  set(MODULE_DESCRIPTION "live.umm.gay module")
55  configure_file("${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in"
56    char-rtc-obs.rc)
57  target_sources(char-rtc-obs PRIVATE char-rtc-obs.rc)
58endif()
59
60if(OS_MACOS)
61  find_library(COREFOUNDATION CoreFoundation)
62  find_library(SECURITY_FRAMEWORK Security)
63  find_library(SYSTEMCONFIGURATION SystemConfiguration)
64  mark_as_advanced(COREFOUNDATION SECURITY_FRAMEWOR SYSTEMCONFIGURATION)
65  target_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)