我正在与"未找到所需的包">来自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()
命令搜索的安装前缀。每个命令都会根据自己的文档中的指定添加相应的子目录(如bin
、lib
或include
(。
https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.htmlhttps://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html