Blame cmake/FindGlib.cmake

Packit 1fb8d4
# - Try to find Glib-2.0 (with gobject)
Packit 1fb8d4
# Once done, this will define
Packit 1fb8d4
#
Packit 1fb8d4
#  Glib_FOUND - system has Glib
Packit 1fb8d4
#  Glib_INCLUDE_DIRS - the Glib include directories
Packit 1fb8d4
#  Glib_LIBRARIES - link these to use Glib
Packit 1fb8d4
#
Packit 1fb8d4
#  GLIB_ROOT_DIR - Primary search directory
Packit 1fb8d4
include(LibFindMacros)
Packit 1fb8d4
Packit 1fb8d4
# Use pkg-config to get hints about paths
Packit 1fb8d4
libfind_pkg_check_modules(Glib_PKGCONF glib-2.0)
Packit 1fb8d4
Packit 1fb8d4
# Main include dir
Packit 1fb8d4
find_path(Glib_INCLUDE_DIR
Packit 1fb8d4
		  NAMES glib.h
Packit 1fb8d4
		  PATHS ${Glib_PKGCONF_INCLUDE_DIRS} ${GLIB_ROOT_DIR}
Packit 1fb8d4
		  PATH_SUFFIXES glib-2.0
Packit 1fb8d4
		 )
Packit 1fb8d4
Packit 1fb8d4
# Finally the library itself
Packit 1fb8d4
find_library(Glib_LIBRARY
Packit 1fb8d4
			 NAMES glib-2.0 gstreamer_android
Packit 1fb8d4
			 PATHS ${Glib_PKGCONF_LIBRARY_DIRS} ${GLIB_ROOT_DIR}
Packit 1fb8d4
			)
Packit 1fb8d4
find_library(Gobject_LIBRARY
Packit 1fb8d4
			 NAMES gobject-2.0 gstreamer_android
Packit 1fb8d4
			 PATHS ${Glib_PKGCONF_LIBRARY_DIRS} ${GLIB_ROOT_DIR}
Packit 1fb8d4
			)
Packit 1fb8d4
Packit 1fb8d4
# Glib-related libraries also use a separate config header, which is relative to lib dir
Packit 1fb8d4
find_path(GlibConfig_INCLUDE_DIR
Packit 1fb8d4
		  NAMES glibconfig.h
Packit 1fb8d4
		  PATHS ${Glib_PKGCONF_INCLUDE_DIRS} ${GLIB_ROOT_DIR}
Packit 1fb8d4
		 )
Packit 1fb8d4
Packit 1fb8d4
# Set the include dir variables and the libraries and let libfind_process do the rest.
Packit 1fb8d4
# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
Packit 1fb8d4
set(Glib_PROCESS_INCLUDES Glib_INCLUDE_DIR GlibConfig_INCLUDE_DIR)
Packit 1fb8d4
set(Glib_PROCESS_LIBS Glib_LIBRARY Gobject_LIBRARY)
Packit 1fb8d4
libfind_process(Glib)
Packit 1fb8d4