diff --git a/cmake/Modules/FindOgg.cmake b/cmake/Modules/FindOgg.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..ea1f07c61d828c17edc01bae4b6370207d555a69
--- /dev/null
+++ b/cmake/Modules/FindOgg.cmake
@@ -0,0 +1,35 @@
+include(LibFindMacros)
+
+libfind_pkg_check_modules(Ogg_PKGCONF ogg)
+
+find_path(Ogg_INCLUDE_DIR
+	NAMES ogg/ogg.h
+	PATHS
+		${Ogg_PKGCONF_INCLUDE_DIRS}
+		"/usr/include"
+		"/usr/local/include"
+)
+
+find_library(Ogg_LIBRARY
+	NAMES ogg
+	PATHS
+		${Ogg_PKGCONF_LIBRARY_DIRS}
+		"/usr/lib"
+		"/usr/local/lib"
+)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ogg
+    REQUIRED_VARS Ogg_LIBRARY Ogg_INCLUDE_DIR)
+
+if(Ogg_FOUND AND NOT TARGET Ogg::ogg)
+	add_library(Ogg::ogg UNKNOWN IMPORTED)
+	set_target_properties(
+		Ogg::ogg
+		PROPERTIES
+		IMPORTED_LOCATION "${Ogg_LIBRARY}"
+		INTERFACE_INCLUDE_DIRECTORIES "${Ogg_INCLUDE_DIR}"
+	)
+endif()
+
+mark_as_advanced(Ogg_LIBRARY Ogg_INCLUDE_DIR)