Browse Source

Add disable options for optional plugins

BtbN 11 năm trước cách đây
mục cha
commit
9f8b74b720

+ 8 - 1
plugins/linux-pulseaudio/CMakeLists.txt

@@ -1,7 +1,14 @@
 project(linux-pulseaudio)
 
+if(DISABLE_PULSEAUDIO)
+	message(STATUS "PulseAudio support disabled")
+	return()
+endif()
+
 find_package(PulseAudio)
-if(NOT PulseAudio_FOUND)
+if(NOT PULSEAUDIO_FOUND AND ENABLE_PULSEAUDIO)
+	message(FATAL_ERROR "PulseAudio not found but set as enabled")
+elseif(NOT PULSEAUDIO_FOUND)
 	message(STATUS "PulseAudio not found, disabling PulseAudio plugin")
 	return()
 endif()

+ 9 - 4
plugins/linux-v4l2/CMakeLists.txt

@@ -1,13 +1,18 @@
-include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
+project(linux-v4l2)
+
+if(DISABLE_V4L2)
+	message(STATUS "v4l2 plugin disabled")
+	return()
+endif()
 
 find_package(Libv4l2)
-if(NOT LIBV4L2_FOUND)
+if(NOT LIBV4L2_FOUND AND ENABLE_V4L2)
+	message(FATAL_ERROR "libv4l2 not found bit plugin set as enabled")
+elseif(NOT LIBV4L2_FOUND)
 	message(STATUS "libv4l2 not found, disabling v4l2 plugin")
 	return()
 endif()
 
-include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
-
 set(linux-v4l2_SOURCES
 	linux-v4l2.c
 	v4l2-input.c

+ 8 - 1
plugins/obs-libfdk/CMakeLists.txt

@@ -1,7 +1,14 @@
 project(obs-libfdk)
 
+if(DISABLE_LIBFDK)
+	message(STATUS "Libfdk support disabled")
+	return()
+endif()
+
 find_package(Libfdk QUIET)
-if(NOT LIBFDK_FOUND)
+if(NOT LIBFDK_FOUND AND ENABLE_LIBFDK)
+	message(FATAL_ERROR "Libfdk not found but set as enabled")
+elseif(NOT LIBFDK_FOUND)
 	message(STATUS "Libfdk not found - obs-libfdk plugin disabled")
 	return()
 endif()

+ 14 - 3
plugins/text-freetype2/CMakeLists.txt

@@ -1,7 +1,14 @@
 project(text-freetype2)
 
+if(DISABLE_FREETYPE)
+	message(STATUS "Freetype text plugin disabled")
+	return()
+endif()
+
 find_package(Freetype QUIET)
-if(NOT FREETYPE_FOUND)
+if(NOT FREETYPE_FOUND AND ENABLE_FREETYPE)
+	message(FATAL_ERROR "Freetype library not found but set as enabled")
+elseif(NOT FREETYPE_FOUND)
 	message(STATUS "Freetype library not found, Freetype text plugin disabled")
 	return()
 endif()
@@ -12,7 +19,9 @@ if(WIN32)
 		find-font-windows.c)
 elseif(APPLE)
 	find_package(Iconv QUIET)
-	if(NOT ICONV_FOUND)
+	if(NOT ICONV_FOUND AND ENABLE_FREETYPE)
+		message(FATAL_ERROR "Iconv library not found but plugin set as enabled")
+	elseif(NOT ICONV_FOUND)
 		message(STATUS "Iconv library not found, Freetype text plugin disabled")
 		return()
 	endif()
@@ -35,7 +44,9 @@ elseif(APPLE)
 		PROPERTIES LANGUAGE C)
 else()
 	find_package(Fontconfig QUIET)
-	if(NOT FONTCONFIG_FOUND)
+	if(NOT FONTCONFIG_FOUND AND ENABLE_FREETYPE)
+		message(FATAL_ERROR "fontconfig not found but plugin set as enabled")
+	elseif(NOT FONTCONFIG_FOUND)
 		message(STATUS "fontconfig not found, Freetype text plugin disabled")
 		return()
 	endif()