@@ -3,6 +3,23 @@ project(obs-browser)
3
3
option (ENABLE_BROWSER "Enable building OBS with browser source plugin (required Chromium Embedded Framework)"
4
4
${OS_LINUX} )
5
5
6
+ find_package (Qt6 REQUIRED Widgets)
7
+
8
+ add_library (obs-browser-api INTERFACE )
9
+ add_library (OBS::browser-api ALIAS obs-browser-api)
10
+
11
+ target_sources (obs-browser-api PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /lib/obs-browser-api.hpp>
12
+ $<INSTALL_INTERFACE:${OBS_INCLUDE_DESTINATION} /obs-browser-api.hpp>)
13
+
14
+ target_link_libraries (obs-browser-api INTERFACE OBS::libobs Qt::Widgets)
15
+
16
+ target_include_directories (obs-browser-api INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /lib>
17
+ $<INSTALL_INTERFACE:${OBS_INCLUDE_DESTINATION} >)
18
+
19
+ set_target_properties (obs-browser-api PROPERTIES FOLDER "plugins/obs-browser/lib" PUBLIC_HEADER lib/obs-browser-api.hpp)
20
+
21
+ export_target(obs-browser-api)
22
+
6
23
if (NOT ENABLE_BROWSER OR NOT ENABLE_UI)
7
24
message (STATUS "OBS: DISABLED obs-browser" )
8
25
message (
@@ -54,6 +71,8 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/browser-config.h.in ${CMAKE_BINARY_DI
54
71
target_sources (
55
72
obs-browser
56
73
PRIVATE obs-browser-plugin.cpp
74
+ obs-browser-api-impl.cpp
75
+ obs-browser-api-impl.hpp
57
76
obs-browser-source .cpp
58
77
obs-browser-source .hpp
59
78
obs-browser-source -audio.cpp
@@ -76,13 +95,11 @@ target_sources(
76
95
77
96
target_include_directories (obs-browser PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /deps ${CMAKE_BINARY_DIR} /config)
78
97
79
- target_link_libraries (obs-browser PRIVATE OBS::libobs OBS::frontend-api nlohmann_json::nlohmann_json)
98
+ target_link_libraries (obs-browser PRIVATE OBS::libobs OBS::frontend-api OBS::browser-api nlohmann_json::nlohmann_json)
80
99
81
100
target_compile_features (obs-browser PRIVATE cxx_std_17)
82
101
83
102
if (ENABLE_BROWSER_PANELS OR ENABLE_BROWSER_QT_LOOP)
84
- find_qt(COMPONENTS Widgets)
85
-
86
103
set_target_properties (
87
104
obs-browser
88
105
PROPERTIES AUTOMOC ON
@@ -251,6 +268,8 @@ if(ENABLE_BROWSER_PANELS)
251
268
252
269
target_compile_definitions (obs-browser-panels INTERFACE BROWSER_AVAILABLE)
253
270
271
+ target_sources (obs-browser PRIVATE obs-browser-api-impl-panel.cpp obs-browser-api-impl.cpp)
272
+
254
273
if (ENABLE_BROWSER_QT_LOOP)
255
274
target_compile_definitions (obs-browser-panels INTERFACE ENABLE_BROWSER_QT_LOOP)
256
275
endif ()
0 commit comments