如何帮助'FindPkgConfig.cmake'查找软件包?

时间:2018-10-05 06:33:01

标签: cmake

我正在尝试编译我的项目,而我的项目正在使用ALTER TABLE Entity3 ADD CONSTRAINT ck_MutuallyExclusiveFK CHECK ((FK1 IS NULL OR FK2 IS NULL) AND (FK1 IS NOT NULL OR FK2 IS NOT NULL)) GO 包。 sqlcipher被克隆并安装在自定义路径中,我通过sqlcipher$PATH文件中将此路径导出。配置完成后,如果我在终端上键入~/.bashrc可以正常工作,但是当我尝试在同一终端上sqlcipher进行项目访问时

cmake

我想我必须提供cmake的自定义路径才能找到此软件包。如何提供cmake的自定义路径?我在哪里做错了?

1 个答案:

答案 0 :(得分:2)

模块FindPkgConfig.cmake定义了函数pkg_check_modules()pkg_search_module,它们使用pkg-config实用程序来定位包。

实用程序本身会提示您从PKG_CONFIG_PATH environment 变量中进行搜索,该变量包含用<{> 1 }}文件:

:

但是CMake函数还会从.pc变量中获取提示,该变量包含软件包的分号分隔的(export PKG_CONFIG_PATH="/home/iam/git/LIB_ROOT/lib/pkgconfig:${PKG_CONFIG_PATH}" cmake <...> 安装前缀。两种变量流都可以接受,即 environment CMake 一个:

CMAKE_PREFIX_PATH

;

设置export CMAKE_PREFIX_PATH="/home/iam/git/LIB_ROOT;${CMAKE_PREFIX_PATH}" cmake <...> 的方法是对搜索包https://stackoverflow.com/a/34797156/3440745进行提示CMake的常用方法。