summaryrefslogtreecommitdiff
blob: 2c28c8e080d519df91c4c82b1b34be488b6ac4a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
From eee6541153cfb6788ee088181781793de100e54c Mon Sep 17 00:00:00 2001
From: Jimi Huotari <chiitoo@gentoo.org>
Date: Mon, 9 Jul 2018 02:20:10 +0300
Subject: [PATCH 1/2] deps/obs-scripting: Use less automagic for Lua/Python
 detection

This adds build-time options for disabling the Lua and/or Python
scripting support in cases where users do not wish to build
it, but have the required libraries installed.
---
 deps/obs-scripting/CMakeLists.txt | 73 +++++++++++++++++++------------
 1 file changed, 45 insertions(+), 28 deletions(-)

diff --git a/deps/obs-scripting/CMakeLists.txt b/deps/obs-scripting/CMakeLists.txt
index 835c1b30..46412779 100644
--- a/deps/obs-scripting/CMakeLists.txt
+++ b/deps/obs-scripting/CMakeLists.txt
@@ -1,6 +1,7 @@
 cmake_minimum_required(VERSION 2.8)
 
 if(NOT ENABLE_SCRIPTING)
+	message(STATUS "Scripting plugin disabled")
 	return()
 endif()
 
@@ -11,44 +12,60 @@ if(MSVC)
 		w32-pthreads)
 endif()
 
-find_package(Luajit QUIET)
-find_package(PythonDeps QUIET)
-find_package(SwigDeps QUIET 2)
+option(DISABLE_LUA "Disable Lua scripting support" OFF)
+option(DISABLE_PYTHON "Disable Python scripting support" OFF)
 
 set(COMPILE_PYTHON FALSE CACHE BOOL "" FORCE)
 set(COMPILE_LUA FALSE CACHE BOOL "" FORCE)
 
-if(NOT SWIG_FOUND)
-	message(STATUS "Scripting: SWIG not found; scripting disabled")
-	return()
-endif()
+if(NOT DISABLE_LUA)
+	find_package(Luajit QUIET)
 
-if(NOT PYTHONLIBS_FOUND AND NOT LUAJIT_FOUND)
-	message(STATUS "Scripting: Neither Python 3 nor Luajit was found; scripting plugin disabled")
-	return()
-endif()
-
-if(NOT LUAJIT_FOUND)
-	message(STATUS "Scripting: Luajit not found; Luajit support disabled")
+	if(NOT DISABLE_LUA AND NOT LUAJIT_FOUND)
+		message(STATUS "Luajit support not found.")
+		set(LUAJIT_FOUND FALSE)
+	else()
+		message(STATUS "Scripting: Luajit supported")
+		set(COMPILE_LUA TRUE CACHE BOOL "" FORCE)
+	endif()
 else()
-	message(STATUS "Scripting: Luajit supported")
-	set(COMPILE_LUA TRUE CACHE BOOL "" FORCE)
+	message(STATUS "Scripting: Luajit support disabled")
+	set(LUAJIT_FOUND FALSE)
 endif()
 
-if(NOT PYTHONLIBS_FOUND)
-	message(STATUS "Scripting: Python 3 not found; Python support disabled")
+if(NOT DISABLE_PYTHON)
+	find_package(PythonDeps QUIET)
+
+	if(NOT DISABLE_PYTHON AND NOT PYTHONLIBS_FOUND)
+		message(STATUS "Python support not found.")
+		set(PYTHON_FOUND FALSE)
+		set(PYTHONLIBS_FOUND FALSE)
+	else()
+		message(STATUS "Scripting: Python 3 supported")
+		set(PYTHON_FOUND TRUE)
+		set(COMPILE_PYTHON TRUE CACHE BOOL "" FORCE)
+
+		get_filename_component(PYTHON_LIB "${PYTHON_LIBRARIES}" NAME)
+		string(REGEX REPLACE "\\.[^.]*$" "" PYTHON_LIB ${PYTHON_LIB})
+
+		if(WIN32)
+			string(REGEX REPLACE "_d" "" PYTHON_LIB "${PYTHON_LIB}")
+		endif()
+	endif()
+else()
+	message(STATUS "Scripting: Python 3 support disabled")
 	set(PYTHON_FOUND FALSE)
 	set(PYTHONLIBS_FOUND FALSE)
-else()
-	message(STATUS "Scripting: Python 3 supported")
-	set(PYTHON_FOUND TRUE)
-	set(COMPILE_PYTHON TRUE CACHE BOOL "" FORCE)
-
-	get_filename_component(PYTHON_LIB "${PYTHON_LIBRARIES}" NAME)
-	string(REGEX REPLACE "\\.[^.]*$" "" PYTHON_LIB ${PYTHON_LIB})
-	if(WIN32)
-		string(REGEX REPLACE "_d" "" PYTHON_LIB "${PYTHON_LIB}")
-	endif()
+endif()
+
+find_package(SwigDeps QUIET 2)
+
+if(NOT SWIG_FOUND)
+	message(STATUS "Scripting: SWIG not found; scripting disabled")
+endif()
+
+if(NOT PYTHONLIBS_FOUND AND NOT LUAJIT_FOUND)
+	message(STATUS "Scripting: Neither Python 3 nor Luajit was found; scripting plugin disabled")
 endif()
 
 set(SCRIPTING_ENABLED ON CACHE BOOL "Interal global cmake variable" FORCE)
-- 
2.18.0

From 79006adaf2b93ed4ddc07ff236a9ed1fcd09e47f Mon Sep 17 00:00:00 2001
From: Jimi Huotari <chiitoo@gentoo.org>
Date: Wed, 11 Jul 2018 02:08:51 +0300
Subject: [PATCH 2/2] obs-filters: Use less automagic for SpeexDSP detection

This adds a build-time option for disabling the SpeexDSP-based
Noise Suppression filter support in cases where users do not
wish to build it, but have the required library installed.
---
 plugins/obs-filters/CMakeLists.txt | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/plugins/obs-filters/CMakeLists.txt b/plugins/obs-filters/CMakeLists.txt
index ec4289cc..4d862b0a 100644
--- a/plugins/obs-filters/CMakeLists.txt
+++ b/plugins/obs-filters/CMakeLists.txt
@@ -1,13 +1,23 @@
 project(obs-filters)
 
-find_package(Libspeexdsp QUIET)
-if(LIBSPEEXDSP_FOUND)
-	set(obs-filters_LIBSPEEXDSP_SOURCES
-		noise-suppress-filter.c)
-	set(obs-filters_LIBSPEEXDSP_LIBRARIES
-		${LIBSPEEXDSP_LIBRARIES})
+option(DISABLE_SPEEXDSP "Disable building of the SpeexDSP-based Noise Suppression filter" OFF)
+
+if(DISABLE_SPEEXDSP)
+	message(STATUS "SpeexDSP support disabled")
+	set(LIBSPEEXDSP_FOUND FALSE)
 else()
-	message(STATUS "Speexdsp library not found, speexdsp filters disabled")
+	find_package(Libspeexdsp QUIET)
+
+	if(NOT LIBSPEEXDSP_FOUND)
+		message(STATUS "SpeexDSP support not found")
+		set(LIBSPEEXDSP_FOUND FALSE)
+	else()
+		message(STATUS "SpeexDSP supported")
+		set(obs-filters_LIBSPEEXDSP_SOURCES
+			noise-suppress-filter.c)
+		set(obs-filters_LIBSPEEXDSP_LIBRARIES
+			${LIBSPEEXDSP_LIBRARIES})
+	endif()
 endif()
 
 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/obs-filters-config.h.in"
-- 
2.18.0