@@ -2,17 +2,19 @@ cmake_minimum_required(VERSION 3.16...3.25)
2
2
3
3
legacy_check ()
4
4
5
- set (obs-websocket_VERSION 5.3.4 )
5
+ set (obs-websocket_VERSION 5.4.2 )
6
6
set (OBS_WEBSOCKET_RPC_VERSION 1 )
7
7
8
+ include (cmake/obs-websocket-api.cmake )
9
+
8
10
option (ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON )
9
11
if (NOT ENABLE_WEBSOCKET )
10
12
target_disable (obs-websocket )
11
13
return ()
12
14
endif ()
13
15
14
16
# Find Qt
15
- find_qt ( COMPONENTS Core Widgets Svg Network )
17
+ find_package ( Qt6 REQUIRED Core Widgets Svg Network )
16
18
17
19
# Find nlohmann JSON
18
20
find_package (nlohmann_json 3 REQUIRED )
@@ -31,51 +33,52 @@ find_package(Asio 1.12.1 REQUIRED)
31
33
add_library (obs-websocket MODULE )
32
34
add_library (OBS::websocket ALIAS obs-websocket )
33
35
34
- target_sources (obs-websocket PRIVATE )
35
-
36
36
target_sources (
37
37
obs-websocket
38
- PRIVATE src/obs-websocket.cpp
39
- src/obs-websocket.h
38
+ PRIVATE # cmake-format: sortable
40
39
src/Config.cpp
41
40
src/Config.h
42
- lib/obs-websocket-api.h
43
41
src/forms/ConnectInfo.cpp
44
42
src/forms/ConnectInfo.h
45
43
src/forms/resources.qrc
46
44
src/forms/SettingsDialog.cpp
47
45
src/forms/SettingsDialog.h
46
+ src/obs-websocket.cpp
47
+ src/obs-websocket.h
48
48
src/WebSocketApi.cpp
49
49
src/WebSocketApi.h )
50
50
51
51
target_sources (
52
52
obs-websocket
53
- PRIVATE src/websocketserver/WebSocketServer.cpp
54
- src/websocketserver/WebSocketServer_Protocol.cpp
55
- src/websocketserver/WebSocketServer.h
53
+ PRIVATE # cmake-format: sortable
56
54
src/websocketserver/rpc/WebSocketSession.h
57
55
src/websocketserver/types/WebSocketCloseCode.h
58
- src/websocketserver/types/WebSocketOpCode.h )
56
+ src/websocketserver/types/WebSocketOpCode.h
57
+ src/websocketserver/WebSocketServer.cpp
58
+ src/websocketserver/WebSocketServer.h
59
+ src/websocketserver/WebSocketServer_Protocol.cpp )
59
60
60
61
target_sources (
61
62
obs-websocket
62
- PRIVATE src/eventhandler/EventHandler.cpp
63
+ PRIVATE # cmake-format: sortable
64
+ src/eventhandler/EventHandler.cpp
63
65
src/eventhandler/EventHandler.h
64
66
src/eventhandler/EventHandler_Config.cpp
65
- src/eventhandler/EventHandler_General.cpp
66
67
src/eventhandler/EventHandler_Filters.cpp
68
+ src/eventhandler/EventHandler_General.cpp
67
69
src/eventhandler/EventHandler_Inputs.cpp
68
70
src/eventhandler/EventHandler_MediaInputs.cpp
69
71
src/eventhandler/EventHandler_Outputs.cpp
70
- src/eventhandler/EventHandler_Scenes.cpp
71
72
src/eventhandler/EventHandler_SceneItems.cpp
73
+ src/eventhandler/EventHandler_Scenes.cpp
72
74
src/eventhandler/EventHandler_Transitions.cpp
73
75
src/eventhandler/EventHandler_Ui.cpp
74
76
src/eventhandler/types/EventSubscription.h )
75
77
76
78
target_sources (
77
79
obs-websocket
78
- PRIVATE src/requesthandler/RequestBatchHandler.cpp
80
+ PRIVATE # cmake-format: sortable
81
+ src/requesthandler/RequestBatchHandler.cpp
79
82
src/requesthandler/RequestBatchHandler.h
80
83
src/requesthandler/RequestHandler.cpp
81
84
src/requesthandler/RequestHandler.h
@@ -85,10 +88,10 @@ target_sources(
85
88
src/requesthandler/RequestHandler_Inputs.cpp
86
89
src/requesthandler/RequestHandler_MediaInputs.cpp
87
90
src/requesthandler/RequestHandler_Outputs.cpp
88
- src/requesthandler/RequestHandler_Sources.cpp
89
91
src/requesthandler/RequestHandler_Record.cpp
90
- src/requesthandler/RequestHandler_Scenes.cpp
91
92
src/requesthandler/RequestHandler_SceneItems.cpp
93
+ src/requesthandler/RequestHandler_Scenes.cpp
94
+ src/requesthandler/RequestHandler_Sources.cpp
92
95
src/requesthandler/RequestHandler_Stream.cpp
93
96
src/requesthandler/RequestHandler_Transitions.cpp
94
97
src/requesthandler/RequestHandler_Ui.cpp
@@ -98,12 +101,13 @@ target_sources(
98
101
src/requesthandler/rpc/RequestBatchRequest.h
99
102
src/requesthandler/rpc/RequestResult.cpp
100
103
src/requesthandler/rpc/RequestResult.h
101
- src/requesthandler/types/RequestStatus .h
102
- src/requesthandler/types/RequestBatchExecutionType .h )
104
+ src/requesthandler/types/RequestBatchExecutionType .h
105
+ src/requesthandler/types/RequestStatus .h )
103
106
104
107
target_sources (
105
108
obs-websocket
106
- PRIVATE src/utils/Compat.cpp
109
+ PRIVATE # cmake-format: sortable
110
+ src/utils/Compat.cpp
107
111
src/utils/Compat.h
108
112
src/utils/Crypto.cpp
109
113
src/utils/Crypto.h
@@ -115,8 +119,8 @@ target_sources(
115
119
src/utils/Obs_ArrayHelper.cpp
116
120
src/utils/Obs_NumberHelper.cpp
117
121
src/utils/Obs_ObjectHelper.cpp
118
- src/utils/Obs_StringHelper.cpp
119
122
src/utils/Obs_SearchHelper.cpp
123
+ src/utils/Obs_StringHelper.cpp
120
124
src/utils/Obs_VolumeMeter.cpp
121
125
src/utils/Obs_VolumeMeter.h
122
126
src/utils/Obs_VolumeMeter_Helpers.h
@@ -133,19 +137,25 @@ target_compile_definitions(
133
137
134
138
target_compile_options (
135
139
obs-websocket
136
- PRIVATE
137
- $< $< PLATFORM_ID:Windows> :/wd4267>
138
- $< $< PLATFORM_ID:Windows> :/wd4996>
139
- $< $< PLATFORM_ID:Darwin,Linux,FreeBSD> :-Wall>
140
- $< $< COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang> :-Wno-error=float-conversion;-Wno-error=shadow>
141
- $< $< COMPILE_LANG_AND_ID:CXX,GNU> :-Wno-error=format-overflow;-Wno-error=int-conversion;-Wno-error=comment>
142
- $< $< COMPILE_LANG_AND_ID:CXX,AppleClang,Clang> :-Wno-error=null-pointer-subtraction;-Wno-error=deprecated-declarations;-Wno-error=implicit-int-conversion;-Wno-error=shorten-64-to-32;-Wno-comma;-Wno-quoted-include-in-framework-header>
143
- )
140
+ PRIVATE $< $< PLATFORM_ID:Windows> :/wd4267>
141
+ $< $< COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang> :-Wall>
142
+ $< $< COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang> :-Wno-error=float-conversion>
143
+ $< $< COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang> :-Wno-error=shadow>
144
+ $< $< COMPILE_LANG_AND_ID:CXX,GNU> :-Wno-error=format-overflow>
145
+ $< $< COMPILE_LANG_AND_ID:CXX,GNU> :-Wno-error=int-conversion>
146
+ $< $< COMPILE_LANG_AND_ID:CXX,GNU> :-Wno-error=comment>
147
+ $< $< COMPILE_LANG_AND_ID:CXX,AppleClang,Clang> :-Wno-error=null-pointer-subtraction>
148
+ $< $< COMPILE_LANG_AND_ID:CXX,AppleClang,Clang> :-Wno-error=deprecated-declarations>
149
+ $< $< COMPILE_LANG_AND_ID:CXX,AppleClang,Clang> :-Wno-error=implicit-int-conversion>
150
+ $< $< COMPILE_LANG_AND_ID:CXX,AppleClang,Clang> :-Wno-error=shorten-64-to-32>
151
+ $< $< COMPILE_LANG_AND_ID:CXX,AppleClang,Clang> :-Wno-comma>
152
+ $< $< COMPILE_LANG_AND_ID:CXX,AppleClang,Clang> :-Wno-quoted-include-in-framework-header> )
144
153
145
154
target_link_libraries (
146
155
obs-websocket
147
156
PRIVATE OBS::libobs
148
157
OBS::frontend-api
158
+ OBS::websocket-api
149
159
Qt::Core
150
160
Qt::Widgets
151
161
Qt::Svg
@@ -155,6 +165,8 @@ target_link_libraries(
155
165
Asio::Asio
156
166
qrcodegencpp::qrcodegencpp )
157
167
168
+ target_link_options (obs-websocket PRIVATE $< $< PLATFORM_ID:Windows> :/IGNORE:4099> )
169
+
158
170
set_target_properties_obs (
159
171
obs-websocket
160
172
PROPERTIES FOLDER plugins
@@ -168,6 +180,4 @@ if(OS_WINDOWS)
168
180
TARGET obs-websocket
169
181
APPEND
170
182
PROPERTY AUTORCC_OPTIONS --format-version 1 )
171
-
172
- target_link_options (obs-websocket PRIVATE /IGNORE:4099 )
173
183
endif ()
0 commit comments