summaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindOgg.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindOgg.cmake')
-rw-r--r--cmake/modules/FindOgg.cmake78
1 files changed, 78 insertions, 0 deletions
diff --git a/cmake/modules/FindOgg.cmake b/cmake/modules/FindOgg.cmake
new file mode 100644
index 0000000000..b61cb6d2c3
--- /dev/null
+++ b/cmake/modules/FindOgg.cmake
@@ -0,0 +1,78 @@
+# This file is part of Mixxx, Digital DJ'ing software.
+# Copyright (C) 2001-2020 Mixxx Development Team
+# Distributed under the GNU General Public Licence (GPL) version 2 or any later
+# later version. See the LICENSE file for details.
+
+#[=======================================================================[.rst:
+FindOgg
+-------
+
+Finds the Ogg library.
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This will define the following variables:
+
+``Ogg_FOUND``
+ True if the system has the Ogg library.
+``Ogg_INCLUDE_DIRS``
+ Include directories needed to use Ogg.
+``Ogg_LIBRARIES``
+ Libraries needed to link to Ogg.
+``Ogg_DEFINITIONS``
+ Compile definitions needed to use Ogg.
+
+Cache Variables
+^^^^^^^^^^^^^^^
+
+The following cache variables may also be set:
+
+``Ogg_INCLUDE_DIR``
+ The directory containing ``ogg/ogg.h``.
+``Ogg_LIBRARY``
+ The path to the Ogg library.
+
+#]=======================================================================]
+find_package(PkgConfig QUIET)
+if(PkgConfig_FOUND)
+ pkg_check_modules(PC_Ogg QUIET ogg)
+endif()
+
+find_path(Ogg_INCLUDE_DIR
+ NAMES ogg/ogg.h
+ PATHS ${PC_Ogg_INCLUDE_DIRS}
+ DOC "Ogg include directory"
+)
+mark_as_advanced(Ogg_INCLUDE_DIR)
+
+find_library(Ogg_LIBRARY
+ NAMES ogg
+ PATHS ${PC_Ogg_LIBRARY_DIRS}
+ DOC "Ogg library"
+)
+mark_as_advanced(Ogg_LIBRARY)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(
+ Ogg
+ REQUIRED_VARS
+ Ogg_INCLUDE_DIR
+ Ogg_LIBRARY
+)
+
+if(Ogg_FOUND)
+ set(Ogg_LIBRARIES ${Ogg_LIBRARY})
+ set(Ogg_INCLUDE_DIRS ${Ogg_INCLUDE_DIR})
+ set(Ogg_DEFINITIONS ${PC_Ogg_CFLAGS_OTHER})
+
+ if(NOT TARGET Ogg::ogg)
+ add_library(Ogg::ogg UNKNOWN IMPORTED)
+ set_target_properties(Ogg::ogg
+ PROPERTIES
+ IMPORTED_LOCATION "${Ogg_LIBRARY}"
+ INTERFACE_COMPILE_OPTIONS "${PC_Ogg_CFLAGS_OTHER}"
+ INTERFACE_INCLUDE_DIRECTORIES "${Ogg_INCLUDE_DIR}"
+ )
+ endif()
+endif()