比如查找libyang代码生成的libyang.a和libyang/libyang.h
pkg_check_modules是从环境变量${ PKG_CONFIG_PATH}指明的文件路径列表里找libyang.pc
而libyang.pc会指明libraries和header files所在的目录。
代码操作如下:
首先编译libyang代码的时候,需要生成一个libyang.pc文件。
libyang.pc.in内容如下:
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@LOCAL_INSTALL_DIR@
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
Name: @PROJECT_NAME@
Description: @LIBYANG_DESCRIPTION@
Version: @LIBYANG_VERSION@
Requires.private: libpcre
Libs: -L${libdir} -lyang
Libs.private: -lpcre
Cflags: -I${includedir}
LIBYANG_SOVERSION=@LIBYANG_SOVERSION_FULL@
使用cmake configure_file关键字生成libyang.pc文件,并安装
CMakeList.txt内容如下:
# generate pkg-config f