将cmake指向包含依赖项的目录



我正在与"未找到所需的包">来自cmake的错误。

假设我有一个依赖于bar库的软件foo

libbar.a安装在$HOME/lib中,bar.h安装在$HOME/include目录中。

使用automake工具,您通常可以使用将构建系统指向bar

$ cd foo
$ ./configure --with-bar=$HOME

但是,我如何使用cmake工具实现同样的效果呢?

我希望cmake足够聪明,不仅可以在/usr/lib/usr/local/lib中查找库,还可以在我的$HOME/lib目录中查找库。

这很琐碎:

$ cmake ... -DCMAKE_PREFIX_PATH=$HOME

如果您希望bar发生这种情况,可以改为设置bar_ROOT

请参阅文档:

以分号分隔的目录列表,指定要由find_package()find_program()find_library()find_file()find_path()命令搜索的安装前缀。每个命令都会根据自己的文档中的指定添加相应的子目录(如binlibinclude(。

https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.htmlhttps://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html

最新更新