diff --git a/cmake/Modules/FindAppKit.cmake b/cmake/Modules/FindAppKit.cmake
index 355232160bde7ada8998867189abfb6c6c7ee4bc..1cc1e84514b73e85e28b7a67601848ee8495de4c 100644
--- a/cmake/Modules/FindAppKit.cmake
+++ b/cmake/Modules/FindAppKit.cmake
@@ -1,18 +1,12 @@
 # Once done these will be defined:
 #
-#  AppKit_FOUND
-#  AppKit_LIBRARIES
-#
-
-if(AppKit_LIBRARIES)
-	set(AppKit_FOUND TRUE)
-else()
-	find_library(APPKIT_FRAMEWORK AppKit)
+#  APPKIT_FOUND
+#  APPKIT_LIBRARIES
 
-	set(AppKit_LIBRARIES ${APPKIT_FRAMEWORK} CACHE STRING "AppKit framework")
+find_library(APPKIT_FRAMEWORK AppKit)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(AppKit DEFAULT_MSG APPKIT_FRAMEWORK)
-	mark_as_advanced(APPKIT_FRAMEWORK)
-endif()
+set(APPKIT_LIBRARIES ${APPKIT_FRAMEWORK})
 
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(AppKit DEFAULT_MSG APPKIT_FRAMEWORK)
+mark_as_advanced(APPKIT_FRAMEWORK)
diff --git a/cmake/Modules/FindFontconfig.cmake b/cmake/Modules/FindFontconfig.cmake
index 321108cc66f04e69a761cc6860e951ae7ee2b067..205a9f51b837835efc8fa74d6212e7a5bbe7b55a 100644
--- a/cmake/Modules/FindFontconfig.cmake
+++ b/cmake/Modules/FindFontconfig.cmake
@@ -3,37 +3,32 @@
 #  FONTCONFIG_FOUND
 #  FONTCONFIG_INCLUDE_DIRS
 #  FONTCONFIG_LIBRARIES
-#
 
-if(FONTCONFIG_INCLUDE_DIRS AND FONTCONFIG_LIBRARIES)
-	set(FONTCONFIG_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_FONTCONFIG QUIET fontconfig)
-	endif()
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_FONTCONFIG QUIET fontconfig)
+endif()
 
-	find_path(FONTCONFIG_INCLUDE_DIR
-		NAMES fontconfig/fontconfig.h
-		HINTS
-			${_FONTCONFIG_INCLUDE_DIRS}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include)
+find_path(FONTCONFIG_INCLUDE_DIR
+	NAMES fontconfig/fontconfig.h
+	HINTS
+		${_FONTCONFIG_INCLUDE_DIRS}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include)
 
-	find_library(FONTCONFIG_LIB
-		NAMES fontconfig
-		HINTS
-			${_FONTCONFIG_LIBRARY_DIRS}
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib)
+find_library(FONTCONFIG_LIB
+	NAMES fontconfig
+	HINTS
+		${_FONTCONFIG_LIBRARY_DIRS}
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib)
 
-	set(FONTCONFIG_INCLUDE_DIRS ${FONTCONFIG_INCLUDE_DIR}
-		CACHE PATH "fontconfig include dir")
-	set(FONTCONFIG_LIBRARIES "${FONTCONFIG_LIB}"
-		CACHE STRING "fontconfig libraries")
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Fontconfig DEFAULT_MSG FONTCONFIG_LIB
+	FONTCONFIG_INCLUDE_DIR)
+mark_as_advanced(FONTCONFIG_INCLUDE_DIR FONTCONFIG_LIB)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Fontconfig DEFAULT_MSG FONTCONFIG_LIB
-		FONTCONFIG_INCLUDE_DIR)
-	mark_as_advanced(FONTCONFIG_INCLUDE_DIR FONTCONFIG_LIB)
+if(FONTCONFIG_FOUND)
+	set(FONTCONFIG_INCLUDE_DIRS ${FONTCONFIG_INCLUDE_DIR})
+	set(FONTCONFIG_LIBRARIES "${FONTCONFIG_LIB}")
 endif()
diff --git a/cmake/Modules/FindFreetype.cmake b/cmake/Modules/FindFreetype.cmake
index 26f2484d9696062e194ffcd3acc0c9021f170085..c7e61161200795b281067bc9bd6d8a96a7604918 100644
--- a/cmake/Modules/FindFreetype.cmake
+++ b/cmake/Modules/FindFreetype.cmake
@@ -3,79 +3,79 @@
 #  FREETYPE_FOUND
 #  FREETYPE_INCLUDE_DIRS
 #  FREETYPE_LIBRARIES
-#
 
-if(FREETYPE_INCLUDE_DIRS AND FREETYPE_LIBRARIES)
-	set(FREETYPE_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_FREETYPE QUIET freetype2)
-	endif()
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_FREETYPE QUIET freetype2)
+endif()
 
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
+endif()
 
-	find_path(FREETYPE_INCLUDE_DIR_ft2build
-		NAMES
-			ft2build.h
-		HINTS
-			${_FREETYPE_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV FreetypePath${_lib_suffix}
-			ENV FreetypePath
-			ENV FREETYPE_DIR
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include
-		PATH_SUFFIXES
-			include/freetype2 include)
+find_path(FREETYPE_INCLUDE_DIR_ft2build
+	NAMES
+		ft2build.h
+	HINTS
+		${_FREETYPE_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV FreetypePath${_lib_suffix}
+		ENV FreetypePath
+		ENV FREETYPE_DIR
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES
+		freetype2 include/freetype2 include)
 
-	find_path(FREETYPE_INCLUDE_DIR_freetype2
-		NAMES
-			freetype/config/ftheader.h
-			config/ftheader.h
-		HINTS
-			${_FREETYPE_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV FreetypePath${_lib_suffix}
-			ENV FreetypePath
-			ENV FREETYPE_DIR
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include
-		PATH_SUFFIXES
-			include/freetype2 include)
+find_path(FREETYPE_INCLUDE_DIR_freetype2
+	NAMES
+		freetype/config/ftheader.h
+		config/ftheader.h
+	HINTS
+		${_FREETYPE_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV FreetypePath${_lib_suffix}
+		ENV FreetypePath
+		ENV FREETYPE_DIR
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES
+		freetype2 include/freetype2 include)
 
-	find_library(FREETYPE_LIB
-		NAMES ${_FREETYPE_LIBRARIES} freetype libfreetype
-		HINTS
-			${_FREETYPE_LIBRARY_DIRS}
-			"${FREETYPE_INCLUDE_DIR_ft2build}/../lib"
-			"${FREETYPE_INCLUDE_DIR_ft2build}/../lib${_lib_suffix}"
-			"${FREETYPE_INCLUDE_DIR_ft2build}/../libs${_lib_suffix}"
-			"${FREETYPE_INCLUDE_DIR_ft2build}/lib"
-			"${FREETYPE_INCLUDE_DIR_ft2build}/lib${_lib_suffix}"
-			ENV FREETYPE_DIR
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib
-		PATH_SUFFIXES
-			lib${_lib_suffix} lib)
+find_library(FREETYPE_LIB
+	NAMES ${_FREETYPE_LIBRARIES} freetype libfreetype
+	HINTS
+		${_FREETYPE_LIBRARY_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/lib${_lib_suffix}"
+		"$ENV{obsAdditionalInstallFiles}/lib${_lib_suffix}"
+		"${FREETYPE_INCLUDE_DIR_ft2build}/../../lib${_lib_suffix}"
+		"${FREETYPE_INCLUDE_DIR_ft2build}/../../lib"
+		"${FREETYPE_INCLUDE_DIR_ft2build}/../lib${_lib_suffix}"
+		"${FREETYPE_INCLUDE_DIR_ft2build}/../lib"
+		"${FREETYPE_INCLUDE_DIR_ft2build}/lib${_lib_suffix}"
+		"${FREETYPE_INCLUDE_DIR_ft2build}/lib"
+		ENV FREETYPE_DIR
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib
+	PATH_SUFFIXES
+		lib${_lib_suffix} lib)
 
-	if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
-		set(FREETYPE_INCLUDE_DIR "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
-		list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIR)
-	else()
-		unset(FREETYPE_INCLUDE_DIR)
-	endif()
+if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
+	set(FREETYPE_INCLUDE_DIR "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
+	list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIR)
+else()
+	unset(FREETYPE_INCLUDE_DIR)
+endif()
 
-	set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR} CACHE PATH "freetype include dirs")
-	set(FREETYPE_LIBRARIES ${FREETYPE_LIB} CACHE STRING "freetype libraries")
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Freetype DEFAULT_MSG FREETYPE_LIB FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2)
+mark_as_advanced(FREETYPE_INCLUDE_DIR FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_LIB)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Freetype DEFAULT_MSG FREETYPE_LIB FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2)
-	mark_as_advanced(FREETYPE_INCLUDE_DIR FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_LIB)
+if(FREETYPE_FOUND)
+	set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR})
+	set(FREETYPE_LIBRARIES ${FREETYPE_LIB})
 endif()
diff --git a/cmake/Modules/FindIconv.cmake b/cmake/Modules/FindIconv.cmake
index 7dd65c31628b7f97482a432ef0653a57e74561db..82d71288c020018163e00d45f478e8a92755c18a 100644
--- a/cmake/Modules/FindIconv.cmake
+++ b/cmake/Modules/FindIconv.cmake
@@ -3,51 +3,48 @@
 #  ICONV_FOUND
 #  ICONV_INCLUDE_DIRS
 #  ICONV_LIBRARIES
-#
 
-if(ICONV_INCLUDE_DIRS AND ICONV_LIBRARIES)
-	set(ICONV_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_ICONV QUIET iconv)
-	endif()
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_ICONV QUIET iconv)
+endif()
 
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
+endif()
 
-	set(ICONV_PATH_ARCH IconvPath${_lib_suffix})
+set(ICONV_PATH_ARCH IconvPath${_lib_suffix})
 
-	find_path(ICONV_INCLUDE_DIR
-		NAMES iconv.h
-		HINTS
-			${_ICONV_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV IconvPath
-			ENV ${ICONV_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include)
+find_path(ICONV_INCLUDE_DIR
+	NAMES iconv.h
+	HINTS
+		${_ICONV_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV IconvPath
+		ENV ${ICONV_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include)
 
-	find_library(ICONV_LIB
-		NAMES ${_ICONV_LIBRARIES} iconv libiconv
-		HINTS
-			${_ICONV_LIBRARY_DIRS}
-			"${ICONV_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${ICONV_INCLUDE_DIR}/../lib"
-			"${ICONV_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${ICONV_INCLUDE_DIR}/lib"
-			"${ICONV_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+find_library(ICONV_LIB
+	NAMES ${_ICONV_LIBRARIES} iconv libiconv
+	HINTS
+		${_ICONV_LIBRARY_DIRS}
+		"${ICONV_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${ICONV_INCLUDE_DIR}/../lib"
+		"${ICONV_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${ICONV_INCLUDE_DIR}/lib"
+		"${ICONV_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
 
-	set(ICONV_INCLUDE_DIRS ${ICONV_INCLUDE_DIR} CACHE PATH "iconv include dir")
-	set(ICONV_LIBRARIES ${ICONV_LIB} CACHE STRING "iconv libraries")
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Iconv DEFAULT_MSG ICONV_LIB ICONV_INCLUDE_DIR)
+mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIB)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Iconv DEFAULT_MSG ICONV_LIB ICONV_INCLUDE_DIR)
-	mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIB)
+if(ICONV_FOUND)
+	set(ICONV_INCLUDE_DIRS ${ICONV_INCLUDE_DIR})
+	set(ICONV_LIBRARIES ${ICONV_LIB})
 endif()
diff --git a/cmake/Modules/FindJansson.cmake b/cmake/Modules/FindJansson.cmake
index d3b7812c4b7f4ba87471a8353eaccdd044228cdd..7c74ff1201e8227d1f72f457a6a2c8adab5a7739 100644
--- a/cmake/Modules/FindJansson.cmake
+++ b/cmake/Modules/FindJansson.cmake
@@ -4,73 +4,64 @@
 #  JANSSON_INCLUDE_DIRS
 #  JANSSON_LIBRARIES
 #  JANSSON_VERSION
-#
 
-if(JANSSON_INCLUDE_DIRS AND JANSSON_LIBRARIES)
-	set(JANSSON_FOUND TRUE)
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_JANSSON QUIET jansson)
+endif()
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
 else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_JANSSON QUIET jansson)
-	endif()
+	set(_lib_suffix 32)
+endif()
 
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
+set(JANSSON_PATH_ARCH JanssonPath${_lib_suffix})
 
-	set(JANSSON_PATH_ARCH JanssonPath${_lib_suffix})
+find_path(Jansson_INCLUDE_DIR
+	NAMES jansson.h
+	HINTS
+		${_JANSSON_INCLUDE_DIRS}
+		ENV JanssonPath
+		ENV ${JANSSON_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include)
 
-	find_path(Jansson_INCLUDE_DIR
-		NAMES jansson.h
-		HINTS
-			${_JANSSON_INCLUDE_DIRS}
-			ENV JanssonPath
-			ENV ${JANSSON_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include)
+find_library(Jansson_LIB
+	NAMES ${_JANSSON_LIBRARIES} jansson libjansson
+	HINTS
+		${_JANSSON_LIBRARY_DIRS}
+		"${Jansson_INCLUDE_DIR}/../lib"
+		"${Jansson_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
 
-	find_library(Jansson_LIB
-		NAMES ${_JANSSON_LIBRARIES} jansson libjansson
-		HINTS
-			${_JANSSON_LIBRARY_DIRS}
-			"${Jansson_INCLUDE_DIR}/../lib"
-			"${Jansson_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
- 
-	if(JANSSON_VERSION)
-		set(_JANSSON_VERSION_STRING "${JANSSON_VERSION}")
-	elseif(_JANSSON_FOUND AND _JANSSON_VERSION)
-		set(_JANSSON_VERSION_STRING "${_JANSSON_VERSION}")
-	elseif(EXISTS "${Jansson_INCLUDE_DIR}/jansson.h")
-		file(STRINGS "${Jansson_INCLUDE_DIR}/jansson.h" _jansson_version_parse
-			REGEX "#define[ \t]+JANSSON_VERSION[ \t]+.+")
-		string(REGEX REPLACE
-			".*#define[ \t]+JANSSON_VERSION[ \t]+\"(.+)\".*" "\\1"
-			_JANSSON_VERSION_STRING "${_jansson_version_parse}")
-	else()
-		if(NOT Jansson_FIND_QUIETLY)
-			message(WARNING "Failed to find Jansson version")
-		endif()
-		set(_JANSSON_VERSION_STRING "unknown")
+if(JANSSON_VERSION)
+	set(_JANSSON_VERSION_STRING "${JANSSON_VERSION}")
+elseif(_JANSSON_FOUND AND _JANSSON_VERSION)
+	set(_JANSSON_VERSION_STRING "${_JANSSON_VERSION}")
+elseif(EXISTS "${Jansson_INCLUDE_DIR}/jansson.h")
+	file(STRINGS "${Jansson_INCLUDE_DIR}/jansson.h" _jansson_version_parse
+		REGEX "#define[ \t]+JANSSON_VERSION[ \t]+.+")
+	string(REGEX REPLACE
+		".*#define[ \t]+JANSSON_VERSION[ \t]+\"(.+)\".*" "\\1"
+		_JANSSON_VERSION_STRING "${_jansson_version_parse}")
+else()
+	if(NOT Jansson_FIND_QUIETLY)
+		message(WARNING "Failed to find Jansson version")
 	endif()
+	set(_JANSSON_VERSION_STRING "unknown")
+endif()
 
-	set(JANSSON_INCLUDE_DIRS ${Jansson_INCLUDE_DIR} CACHE PATH "Jansson include dir")
-	set(JANSSON_LIBRARIES ${Jansson_LIB} CACHE STRING "Jansson libraries")
-	set(JANSSON_VERSION "${_JANSSON_VERSION_STRING}" CACHE STRING "Jansson version")
-
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Jansson
-		FOUND_VAR JANSSON_FOUND
-		REQUIRED_VARS Jansson_LIB Jansson_INCLUDE_DIR
-		VERSION_VAR JANSSON_VERSION)
-	mark_as_advanced(Jansson_INCLUDE_DIR Jansson_LIB)
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Jansson
+	FOUND_VAR JANSSON_FOUND
+	REQUIRED_VARS Jansson_LIB Jansson_INCLUDE_DIR
+	VERSION_VAR _JANSSON_VERSION_STRING)
+mark_as_advanced(Jansson_INCLUDE_DIR Jansson_LIB)
 
-	if(NOT JANSSON_FOUND)
-		unset(JANSSON_INCLUDE_DIRS CACHE)
-		unset(JANSSON_LIBRARIES CACHE)
-	endif()
+if(JANSSON_FOUND)
+	set(JANSSON_INCLUDE_DIRS ${Jansson_INCLUDE_DIR})
+	set(JANSSON_LIBRARIES ${Jansson_LIB})
+	set(JANSSON_VERSION ${_JANSSON_VERSION_STRING})
 endif()
-
diff --git a/cmake/Modules/FindLibavcodec.cmake b/cmake/Modules/FindLibavcodec.cmake
index f81f50e5c7d085dcb3242b1370a4e3a7a3da03e1..49ac68d98dcec5a0fdeb3b61b44b335014754885 100644
--- a/cmake/Modules/FindLibavcodec.cmake
+++ b/cmake/Modules/FindLibavcodec.cmake
@@ -7,53 +7,49 @@
 # For use in OBS: 
 #
 #  FFMPEG_INCLUDE_DIR
-#
-
-if(LIBAVCODEC_INCLUDE_DIRS AND LIBAVCODEC_LIBRARIES)
-	set(LIBAVCODEC_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_AVCODEC QUIET libavcodec)
-	endif()
-
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
-
-	set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
 
-	find_path(FFMPEG_INCLUDE_DIR
-		NAMES libavcodec/avcodec.h
-		HINTS
-			${_AVCODEC_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV FFmpegPath
-			ENV ${FFMPEG_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include
-		PATH_SUFFIXES ffmpeg libav)
-
-	find_library(AVCODEC_LIB
-		NAMES ${_AVCODEC_LIBRARIES} avcodec-ffmpeg avcodec
-		HINTS
-			${_AVCODEC_LIBRARY_DIRS}
-			"${FFMPEG_INCLUDE_DIR}/../lib"
-			"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/lib"
-			"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
-
-	set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavcodec include dir")
-	set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB} CACHE STRING "Libavcodec libraries")
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_AVCODEC QUIET libavcodec)
+endif()
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Libavcodec DEFAULT_MSG AVCODEC_LIB FFMPEG_INCLUDE_DIR)
-	mark_as_advanced(FFMPEG_INCLUDE_DIR AVCODEC_LIB)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
 endif()
 
+set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
+
+find_path(FFMPEG_INCLUDE_DIR
+	NAMES libavcodec/avcodec.h
+	HINTS
+		${_AVCODEC_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV FFmpegPath
+		ENV ${FFMPEG_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES ffmpeg libav)
+
+find_library(AVCODEC_LIB
+	NAMES ${_AVCODEC_LIBRARIES} avcodec-ffmpeg avcodec
+	HINTS
+		${_AVCODEC_LIBRARY_DIRS}
+		"${FFMPEG_INCLUDE_DIR}/../lib"
+		"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/lib"
+		"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Libavcodec DEFAULT_MSG AVCODEC_LIB FFMPEG_INCLUDE_DIR)
+mark_as_advanced(FFMPEG_INCLUDE_DIR AVCODEC_LIB)
+
+if(LIBAVCODEC_FOUND)
+	set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
+	set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB})
+endif()
diff --git a/cmake/Modules/FindLibavformat.cmake b/cmake/Modules/FindLibavformat.cmake
index bf1e130d3b6fe24781d6a4761fb5a119513c101d..1f7d9c8dbd23df3dab1e436fc4dd39c94d7c3262 100644
--- a/cmake/Modules/FindLibavformat.cmake
+++ b/cmake/Modules/FindLibavformat.cmake
@@ -3,53 +3,49 @@
 #  LIBAVFORMAT_FOUND
 #  LIBAVFORMAT_INCLUDE_DIRS
 #  LIBAVFORMAT_LIBRARIES
-#
-
-if(LIBAVFORMAT_INCLUDE_DIRS AND LIBAVFORMAT_LIBRARIES)
-	set(LIBAVFORMAT_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_AVFORMAT QUIET libavformat)
-	endif()
-
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
-
-	set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
 
-	find_path(FFMPEG_INCLUDE_DIR
-		NAMES libavformat/avformat.h
-		HINTS
-			${_AVFORMAT_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV FFmpegPath
-			ENV ${FFMPEG_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include
-		PATH_SUFFIXES ffmpeg libav)
-
-	find_library(AVFORMAT_LIB
-		NAMES ${_AVFORMAT_LIBRARIES} avformat-ffmpeg avformat
-		HINTS
-			${_AVFORMAT_LIBRARY_DIRS}
-			"${FFMPEG_INCLUDE_DIR}/../lib"
-			"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/lib"
-			"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
-
-	set(LIBAVFORMAT_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavformat include dir")
-	set(LIBAVFORMAT_LIBRARIES ${AVFORMAT_LIB} CACHE STRING "Libavformat libraries")
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_AVFORMAT QUIET libavformat)
+endif()
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Libavformat DEFAULT_MSG AVFORMAT_LIB FFMPEG_INCLUDE_DIR)
-	mark_as_advanced(FFMPEG_INCLUDE_DIR AVFORMAT_LIB)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
 endif()
 
+set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
+
+find_path(FFMPEG_INCLUDE_DIR
+	NAMES libavformat/avformat.h
+	HINTS
+		${_AVFORMAT_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV FFmpegPath
+		ENV ${FFMPEG_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES ffmpeg libav)
+
+find_library(AVFORMAT_LIB
+	NAMES ${_AVFORMAT_LIBRARIES} avformat-ffmpeg avformat
+	HINTS
+		${_AVFORMAT_LIBRARY_DIRS}
+		"${FFMPEG_INCLUDE_DIR}/../lib"
+		"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/lib"
+		"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Libavformat DEFAULT_MSG AVFORMAT_LIB FFMPEG_INCLUDE_DIR)
+mark_as_advanced(FFMPEG_INCLUDE_DIR AVFORMAT_LIB)
+
+if(LIBAVFORMAT_FOUND)
+	set(LIBAVFORMAT_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
+	set(LIBAVFORMAT_LIBRARIES ${AVFORMAT_LIB})
+endif()
diff --git a/cmake/Modules/FindLibavutil.cmake b/cmake/Modules/FindLibavutil.cmake
index 623c5d69b42e2173d82e41f6a46834e5ab82ff67..1ece8ae4efda19142e5844b70e6eca67e47de1f9 100644
--- a/cmake/Modules/FindLibavutil.cmake
+++ b/cmake/Modules/FindLibavutil.cmake
@@ -3,53 +3,49 @@
 #  LIBAVUTIL_FOUND
 #  LIBAVUTIL_INCLUDE_DIRS
 #  LIBAVUTIL_LIBRARIES
-#
-
-if(LIBAVUTIL_INCLUDE_DIRS AND LIBAVUTIL_LIBRARIES)
-	set(LIBAVUTIL_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_AVUTIL QUIET libavutil)
-	endif()
-
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
-
-	set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
 
-	find_path(FFMPEG_INCLUDE_DIR
-		NAMES libavutil/avutil.h
-		HINTS
-			${_AVUTIL_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV FFmpegPath
-			ENV ${FFMPEG_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include
-		PATH_SUFFIXES ffmpeg libav)
-
-	find_library(AVUTIL_LIB
-		NAMES ${_AVUTIL_LIBRARIES} avutil-ffmpeg avutil
-		HINTS
-			${_AVUTIL_LIBRARY_DIRS}
-			"${FFMPEG_INCLUDE_DIR}/../lib"
-			"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/lib"
-			"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
-
-	set(LIBAVUTIL_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavutil include dir")
-	set(LIBAVUTIL_LIBRARIES ${AVUTIL_LIB} CACHE STRING "Libavutil libraries")
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_AVUTIL QUIET libavutil)
+endif()
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Libavutil DEFAULT_MSG AVUTIL_LIB FFMPEG_INCLUDE_DIR)
-	mark_as_advanced(FFMPEG_INCLUDE_DIR AVUTIL_LIB)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
 endif()
 
+set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
+
+find_path(FFMPEG_INCLUDE_DIR
+	NAMES libavutil/avutil.h
+	HINTS
+		${_AVUTIL_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV FFmpegPath
+		ENV ${FFMPEG_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES ffmpeg libav)
+
+find_library(AVUTIL_LIB
+	NAMES ${_AVUTIL_LIBRARIES} avutil-ffmpeg avutil
+	HINTS
+		${_AVUTIL_LIBRARY_DIRS}
+		"${FFMPEG_INCLUDE_DIR}/../lib"
+		"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/lib"
+		"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Libavutil DEFAULT_MSG AVUTIL_LIB FFMPEG_INCLUDE_DIR)
+mark_as_advanced(FFMPEG_INCLUDE_DIR AVUTIL_LIB)
+
+if(LIBAVUTIL_FOUND)
+	set(LIBAVUTIL_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
+	set(LIBAVUTIL_LIBRARIES ${AVUTIL_LIB})
+endif()
diff --git a/cmake/Modules/FindLibfdk.cmake b/cmake/Modules/FindLibfdk.cmake
index 6d658772976598faca0e0e48113a3747b73c35e5..f8b913204b1ceee034c382485b49728ad0d78869 100644
--- a/cmake/Modules/FindLibfdk.cmake
+++ b/cmake/Modules/FindLibfdk.cmake
@@ -7,55 +7,51 @@
 # For use in OBS: 
 #
 #  Libfdk_INCLUDE_DIR
-#
-
-if(LIBFDK_INCLUDE_DIRS AND LIBFDK_LIBRARIES)
-	set(LIBFDK_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_LIBFDK QUIET fdk-aac)
-	endif()
-
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
-
-	set(LIBFDK_PATH_ARCH LibfdkPath${_lib_suffix})
-	set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
 
-	find_path(Libfdk_INCLUDE_DIR
-		NAMES fdk-aac/aacenc_lib.h
-		HINTS
-			${_LIBFDK_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV LibfdkPath
-			ENV FFmpegPath
-			ENV ${LIBFDK_PATH_ARCH}
-			ENV ${FFMPEG_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include)
-
-	find_library(Libfdk_LIB
-		NAMES ${_LIBFDK_LIBRARIES} fdk-aac libfdk-aac
-		HINTS
-			${_LIBFDK_LIBRARY_DIRS}
-			"${Libfdk_INCLUDE_DIR}/../lib"
-			"${Libfdk_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${Libfdk_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${Libfdk_INCLUDE_DIR}/lib"
-			"${Libfdk_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
-
-	set(LIBFDK_INCLUDE_DIRS ${Libfdk_INCLUDE_DIR} CACHE PATH "Libfdk include dir")
-	set(LIBFDK_LIBRARIES ${Libfdk_LIB} CACHE STRING "Libfdk libraries")
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_LIBFDK QUIET fdk-aac)
+endif()
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Libfdk DEFAULT_MSG Libfdk_LIB Libfdk_INCLUDE_DIR)
-	mark_as_advanced(Libfdk_INCLUDE_DIR Libfdk_LIB)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
 endif()
 
+set(LIBFDK_PATH_ARCH LibfdkPath${_lib_suffix})
+set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
+
+find_path(Libfdk_INCLUDE_DIR
+	NAMES fdk-aac/aacenc_lib.h
+	HINTS
+		${_LIBFDK_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV LibfdkPath
+		ENV FFmpegPath
+		ENV ${LIBFDK_PATH_ARCH}
+		ENV ${FFMPEG_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include)
+
+find_library(Libfdk_LIB
+	NAMES ${_LIBFDK_LIBRARIES} fdk-aac libfdk-aac
+	HINTS
+		${_LIBFDK_LIBRARY_DIRS}
+		"${Libfdk_INCLUDE_DIR}/../lib"
+		"${Libfdk_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${Libfdk_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${Libfdk_INCLUDE_DIR}/lib"
+		"${Libfdk_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Libfdk DEFAULT_MSG Libfdk_LIB Libfdk_INCLUDE_DIR)
+mark_as_advanced(Libfdk_INCLUDE_DIR Libfdk_LIB)
+
+if(LIBFDK_FOUND)
+	set(LIBFDK_INCLUDE_DIRS ${Libfdk_INCLUDE_DIR})
+	set(LIBFDK_LIBRARIES ${Libfdk_LIB})
+endif()
diff --git a/cmake/Modules/FindLibswresample.cmake b/cmake/Modules/FindLibswresample.cmake
index 0e8986d26610e0975cc9443d664d2264677ffacb..72008bbd85bdde5a5dcbaeadc0480aa6c56a62c1 100644
--- a/cmake/Modules/FindLibswresample.cmake
+++ b/cmake/Modules/FindLibswresample.cmake
@@ -3,53 +3,49 @@
 #  LIBSWRESAMPLE_FOUND
 #  LIBSWRESAMPLE_INCLUDE_DIRS
 #  LIBSWRESAMPLE_LIBRARIES
-#
 
-if(LIBSWRESAMPLE_INCLUDE_DIRS AND LIBSWRESAMPLE_LIBRARIES)
-	set(LIBSWRESAMPLE_FOUND TRUE)
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_SWRESAMPLE QUIET libswresample)
+endif()
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
 else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_SWRESAMPLE QUIET libswresample)
-	endif()
+	set(_lib_suffix 32)
+endif()
 
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
-	
-	set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
+set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
 
-	find_path(FFMPEG_INCLUDE_DIR
-		NAMES libswresample/swresample.h
-		HINTS
-			${_SWRESAMPLE_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV FFmpegPath
-			ENV ${FFMPEG_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include
-		PATH_SUFFIXES ffmpeg libav)
+find_path(FFMPEG_INCLUDE_DIR
+	NAMES libswresample/swresample.h
+	HINTS
+		${_SWRESAMPLE_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV FFmpegPath
+		ENV ${FFMPEG_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES ffmpeg libav)
 
-	find_library(SWRESAMPLE_LIB
-		NAMES ${_SWRESAMPLE_LIBRARIES} swresample-ffmpeg swresample
-		HINTS
-			${_SWRESAMPLE_LIBRARY_DIRS}
-			"${FFMPEG_INCLUDE_DIR}/../lib"
-			"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/lib"
-			"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+find_library(SWRESAMPLE_LIB
+	NAMES ${_SWRESAMPLE_LIBRARIES} swresample-ffmpeg swresample
+	HINTS
+		${_SWRESAMPLE_LIBRARY_DIRS}
+		"${FFMPEG_INCLUDE_DIR}/../lib"
+		"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/lib"
+		"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
 
-	set(LIBSWRESAMPLE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libswresample include dir")
-	set(LIBSWRESAMPLE_LIBRARIES ${SWRESAMPLE_LIB} CACHE STRING "Libswresample libraries")
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Libswresample DEFAULT_MSG SWRESAMPLE_LIB FFMPEG_INCLUDE_DIR)
+mark_as_advanced(FFMPEG_INCLUDE_DIR SWRESAMPLE_LIB)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Libswresample DEFAULT_MSG SWRESAMPLE_LIB FFMPEG_INCLUDE_DIR)
-	mark_as_advanced(FFMPEG_INCLUDE_DIR SWRESAMPLE_LIB)
+if(LIBSWRESAMPLE_FOUND)
+	set(LIBSWRESAMPLE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
+	set(LIBSWRESAMPLE_LIBRARIES ${SWRESAMPLE_LIB})
 endif()
-
diff --git a/cmake/Modules/FindLibswscale.cmake b/cmake/Modules/FindLibswscale.cmake
index 40540a963292a28c1b1d7aaa2621a685ab1cd902..1ace7106b5e90cfbb38ad1b2348d5fdd1207c3ca 100644
--- a/cmake/Modules/FindLibswscale.cmake
+++ b/cmake/Modules/FindLibswscale.cmake
@@ -3,53 +3,49 @@
 #  LIBSWSCALE_FOUND
 #  LIBSWSCALE_INCLUDE_DIRS
 #  LIBSWSCALE_LIBRARIES
-#
 
-if(LIBSWSCALE_INCLUDE_DIRS AND LIBSWSCALE_LIBRARIES)
-	set(LIBSWSCALE_FOUND TRUE)
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_SWSCALE QUIET libswscale)
+endif()
+
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
 else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_SWSCALE QUIET libswscale)
-	endif()
+	set(_lib_suffix 32)
+endif()
 
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
-	
-	set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
+set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
 
-	find_path(FFMPEG_INCLUDE_DIR
-		NAMES libswscale/swscale.h
-		HINTS
-			${_SWSCALE_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV FFmpegPath
-			ENV ${FFMPEG_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include
-		PATH_SUFFIXES ffmpeg libav)
+find_path(FFMPEG_INCLUDE_DIR
+	NAMES libswscale/swscale.h
+	HINTS
+		${_SWSCALE_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV FFmpegPath
+		ENV ${FFMPEG_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include
+	PATH_SUFFIXES ffmpeg libav)
 
-	find_library(SWSCALE_LIB
-		NAMES ${_SWSCALE_LIBRARIES} swscale-ffmpeg swscale
-		HINTS
-			${_SWSCALE_LIBRARY_DIRS}
-			"${FFMPEG_INCLUDE_DIR}/../lib"
-			"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${FFMPEG_INCLUDE_DIR}/lib"
-			"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+find_library(SWSCALE_LIB
+	NAMES ${_SWSCALE_LIBRARIES} swscale-ffmpeg swscale
+	HINTS
+		${_SWSCALE_LIBRARY_DIRS}
+		"${FFMPEG_INCLUDE_DIR}/../lib"
+		"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${FFMPEG_INCLUDE_DIR}/lib"
+		"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
 
-	set(LIBSWSCALE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libswscale include dir")
-	set(LIBSWSCALE_LIBRARIES ${SWSCALE_LIB} CACHE STRING "Libswscale libraries")
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Libswscale DEFAULT_MSG SWSCALE_LIB FFMPEG_INCLUDE_DIR)
+mark_as_advanced(FFMPEG_INCLUDE_DIR SWSCALE_LIB)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Libswscale DEFAULT_MSG SWSCALE_LIB FFMPEG_INCLUDE_DIR)
-	mark_as_advanced(FFMPEG_INCLUDE_DIR SWSCALE_LIB)
+if(LIBSWSCALE_FOUND)
+	set(LIBSWSCALE_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
+	set(LIBSWSCALE_LIBRARIES ${SWSCALE_LIB})
 endif()
-
diff --git a/cmake/Modules/FindLibv4l2.cmake b/cmake/Modules/FindLibv4l2.cmake
index 7b2865cd4f13515fc4002db59767d97420997b88..bffa24f8258e05c901c82da9f70fa564d78294ff 100644
--- a/cmake/Modules/FindLibv4l2.cmake
+++ b/cmake/Modules/FindLibv4l2.cmake
@@ -3,37 +3,31 @@
 #  LIBV4L2_FOUND
 #  LIBV4L2_INCLUDE_DIRS
 #  LIBV4L2_LIBRARIES
-#
 
-if(LIBV4L2_INCLUDE_DIRS AND LIBV4L2_LIBRARIES)
-	set(LIBV4L2_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_V4L2 QUIET v4l-utils)
-	endif()
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_V4L2 QUIET v4l-utils)
+endif()
 
-	find_path(V4L2_INCLUDE_DIR
-		NAMES libv4l2.h
-		HINTS
-			${_V4L2_INCLUDE_DIRS}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include)
+find_path(V4L2_INCLUDE_DIR
+	NAMES libv4l2.h
+	HINTS
+		${_V4L2_INCLUDE_DIRS}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include)
 
-	find_library(V4L2_LIB
-		NAMES v4l2
-		HINTS
-			${_V4L2_LIBRARY_DIRS}
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib)
+find_library(V4L2_LIB
+	NAMES v4l2
+	HINTS
+		${_V4L2_LIBRARY_DIRS}
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib)
 
-	set(LIBV4L2_INCLUDE_DIRS ${V4L2_INCLUDE_DIR}
-		CACHE PATH "v4l2 include dir")
-	set(LIBV4L2_LIBRARIES "${V4L2_LIB}"
-		CACHE STRING "v4l2 libraries")
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LibV4L2 DEFAULT_MSG V4L2_LIB V4L2_INCLUDE_DIR)
+mark_as_advanced(V4L2_INCLUDE_DIR V4L2_LIB)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(LibV4L2 DEFAULT_MSG V4L2_LIB
-		V4L2_INCLUDE_DIR)
-	mark_as_advanced(V4L2_INCLUDE_DIR V4L2_LIB)
+if(LIBV4L2_FOUND)
+	set(LIBV4L2_INCLUDE_DIRS ${V4L2_INCLUDE_DIR})
+	set(LIBV4L2_LIBRARIES ${V4L2_LIB})
 endif()
diff --git a/cmake/Modules/FindLibx264.cmake b/cmake/Modules/FindLibx264.cmake
index 4434b69c7cb80deb04f9aa96c34d39ab37b9713c..c6e214f6b89d3e7111ee9f7f9aeed93070729a90 100644
--- a/cmake/Modules/FindLibx264.cmake
+++ b/cmake/Modules/FindLibx264.cmake
@@ -7,54 +7,51 @@
 # For use in OBS: 
 #
 #  X264_INCLUDE_DIR
-#
 
-if(LIBX264_INCLUDE_DIRS AND LIBX264_LIBRARIES)
-	set(LIBX264_FOUND TRUE)
-else()
-	find_package(PkgConfig QUIET)
-	if (PKG_CONFIG_FOUND)
-		pkg_check_modules(_X264 QUIET x264)
-	endif()
+find_package(PkgConfig QUIET)
+if (PKG_CONFIG_FOUND)
+	pkg_check_modules(_X264 QUIET x264)
+endif()
 
-	if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-		set(_lib_suffix 64)
-	else()
-		set(_lib_suffix 32)
-	endif()
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
+endif()
 
-	set(X264_PATH_ARCH x264Path${_lib_suffix})
-	set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
+set(X264_PATH_ARCH x264Path${_lib_suffix})
+set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
 
-	find_path(X264_INCLUDE_DIR
-		NAMES x264.h
-		HINTS
-			${_X264_INCLUDE_DIRS}
-			"${CMAKE_SOURCE_DIR}/additional_install_files/include"
-			"$ENV{obsAdditionalInstallFiles}/include"
-			ENV x264Path
-			ENV FFmpegPath
-			ENV ${X264_PATH_ARCH}
-			ENV ${FFMPEG_PATH_ARCH}
-		PATHS
-			/usr/include /usr/local/include /opt/local/include /sw/include)
+find_path(X264_INCLUDE_DIR
+	NAMES x264.h
+	HINTS
+		${_X264_INCLUDE_DIRS}
+		"${CMAKE_SOURCE_DIR}/additional_install_files/include"
+		"$ENV{obsAdditionalInstallFiles}/include"
+		ENV x264Path
+		ENV FFmpegPath
+		ENV ${X264_PATH_ARCH}
+		ENV ${FFMPEG_PATH_ARCH}
+	PATHS
+		/usr/include /usr/local/include /opt/local/include /sw/include)
 
-	find_library(X264_LIB
-		NAMES ${_X264_LIBRARIES} x264 libx264
-		HINTS
-			${_X264_LIBRARY_DIRS}
-			"${X264_INCLUDE_DIR}/../lib"
-			"${X264_INCLUDE_DIR}/../lib${_lib_suffix}"
-			"${X264_INCLUDE_DIR}/../libs${_lib_suffix}"
-			"${X264_INCLUDE_DIR}/lib"
-			"${X264_INCLUDE_DIR}/lib${_lib_suffix}"
-		PATHS
-			/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
+find_library(X264_LIB
+	NAMES ${_X264_LIBRARIES} x264 libx264
+	HINTS
+		${_X264_LIBRARY_DIRS}
+		"${X264_INCLUDE_DIR}/../lib"
+		"${X264_INCLUDE_DIR}/../lib${_lib_suffix}"
+		"${X264_INCLUDE_DIR}/../libs${_lib_suffix}"
+		"${X264_INCLUDE_DIR}/lib"
+		"${X264_INCLUDE_DIR}/lib${_lib_suffix}"
+	PATHS
+		/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
 
-	set(LIBX264_INCLUDE_DIRS ${X264_INCLUDE_DIR} CACHE PATH "x264 include dir")
-	set(LIBX264_LIBRARIES ${X264_LIB} CACHE STRING "x264 libraries")
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Libx264 DEFAULT_MSG X264_LIB X264_INCLUDE_DIR)
+mark_as_advanced(X264_INCLUDE_DIR X264_LIB)
 
-	include(FindPackageHandleStandardArgs)
-	find_package_handle_standard_args(Libx264 DEFAULT_MSG X264_LIB X264_INCLUDE_DIR)
-	mark_as_advanced(X264_INCLUDE_DIR X264_LIB)
+if(LIBX264_FOUND)
+	set(LIBX264_INCLUDE_DIRS ${X264_INCLUDE_DIR})
+	set(LIBX264_LIBRARIES ${X264_LIB})
 endif()
diff --git a/obs/CMakeLists.txt b/obs/CMakeLists.txt
index 40c7e472a7bb4c16ce87ad681b9ace061869d3fe..84a14a844ed3e367e1cea652f3458f1c72213597 100644
--- a/obs/CMakeLists.txt
+++ b/obs/CMakeLists.txt
@@ -1,11 +1,13 @@
 project(obs)
 
-include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-	set(_lib_suffix 64)
+option(ENABLE_UI "Enables the OBS user interfaces" ON)
+if(DISABLE_UI)
+	message(STATUS "UI disabled")
+	return()
+elseif(ENABLE_UI)
+	set(FIND_MODE REQUIRED)
 else()
-	set(_lib_suffix 32)
+	set(FIND_MODE QUIET)
 endif()
 
 if(DEFINED ENV{QTDIR${_lib_suffix}})
@@ -17,8 +19,25 @@ endif()
 set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
 set(CMAKE_AUTOMOC TRUE)
 
-find_package(Qt5Widgets REQUIRED)
-find_package(Qt5Network REQUIRED)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(_lib_suffix 64)
+else()
+	set(_lib_suffix 32)
+endif()
+
+find_package(Qt5Widgets ${FIND_MODE})
+find_package(Qt5Network ${FIND_MODE})
+
+if(NOT Qt5Widgets_FOUND OR NOT Qt5Network_FOUND)
+	if (ENABLE_UI)
+		message(FATAL_ERROR "Failed to find Qt5")
+	else()
+		message(STATUS "Qt5 not found - UI disabled")
+		return()
+	endif()
+endif()
+
+include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
 
 if(WIN32)
 	set(obs_PLATFORM_SOURCES
@@ -28,7 +47,7 @@ elseif(APPLE)
 		platform-osx.mm)
 
 	find_package(AppKit REQUIRED)
-	set(obs_PLATFORM_LIBRARIES ${AppKit_LIBRARIES})
+	set(obs_PLATFORM_LIBRARIES ${APPKIT_LIBRARIES})
 
 	add_definitions(-fobjc-arc)
 elseif(UNIX)
diff --git a/plugins/linux-pulseaudio/CMakeLists.txt b/plugins/linux-pulseaudio/CMakeLists.txt
index 8f36d79b4d196a76c7d1692d812798a40a6e1157..7f6eca61b33ac16f4615b5d632341b5b0d7fa1f2 100644
--- a/plugins/linux-pulseaudio/CMakeLists.txt
+++ b/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()
diff --git a/plugins/linux-v4l2/CMakeLists.txt b/plugins/linux-v4l2/CMakeLists.txt
index 4c1f0e4da59f7a82c51f694e9a86d38a8351d9ef..db728f475e574f9870867afc2eee7fbb5a1ced6b 100644
--- a/plugins/linux-v4l2/CMakeLists.txt
+++ b/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
diff --git a/plugins/obs-libfdk/CMakeLists.txt b/plugins/obs-libfdk/CMakeLists.txt
index 1b260e1398ae65fbf28ce7ae13121eb2c851accf..f804d01248628ba1217a7078da52b19dd232546e 100644
--- a/plugins/obs-libfdk/CMakeLists.txt
+++ b/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()
diff --git a/plugins/text-freetype2/CMakeLists.txt b/plugins/text-freetype2/CMakeLists.txt
index dba08e038f7120e3034c4c85e1a6c8b4bf723c35..26af5492316d8aeb5e4b3c9eb6599197c228a4df 100644
--- a/plugins/text-freetype2/CMakeLists.txt
+++ b/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()