UsePkgConfig¶
Deprecated since version 3.0: This module should no longer be used. Instead, use the
FindPkgConfig
module or the cmake_pkg_config()
command.
This module provided a macro for finding external packages using
pkg-config
command-line utility. It has been replaced by the more
convenient FindPkgConfig
module, which is commonly used in
Find Modules.
As of CMake 3.31, the built-in cmake_pkg_config()
command provides
even more features to extract package information.
Macros¶
This module defines the following macro:
- pkgconfig¶
Finds external package using
pkg-config
and sets result variables:pkgconfig(<package> <includedir> <libdir> <linkflags> <cflags>)
This macro invokes
pkg-config
command-line utility to retrieve the package information into specified variables. Ifpkg-config
or the specified package<package>
is NOT found, the result variables remain empty.The arguments are:
<package>
Name of the package as defined in its PC metadata file (
<package>.pc
).<includedir>
Variable name to store the package's include directory.
<libdir>
Variable name to store the directory containing the package library.
<linkflags>
Variable name to store the linker flags for the package.
<cflags>
Variable name to store the compiler flags for the package.
Examples¶
Using this module fills the desired information into the four given variables:
include(UsePkgConfig)
pkgconfig(
libart-2.0
LIBART_INCLUDEDIR
LIBART_LIBDIR
LIBART_LDFLAGS
LIBART_CFLAGS
)
Migrating to the FindPkgConfig
would look something like this:
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(LIBART QUIET libart-2.0)
endif()
message(STATUS "LIBART_INCLUDEDIR=${LIBART_INCLUDEDIR}")
message(STATUS "LIBART_LIBDIR=${LIBART_LIBDIR}")
message(STATUS "LIBART_LDFLAGS=${LIBART_LDFLAGS}")
message(STATUS "LIBART_CFLAGS=${LIBART_CFLAGS}")