如何在构建过程中使用find_package命令的PATHS选项指定路径。
时间: 2024-12-15 21:17:44 浏览: 7
find-package深入刨析及使用实例
在CMake中,`find_package` 命令通常用于寻找预定义的库或者组件,包括但不限于Boost、Qt等。当你希望指定自定义的路径而非默认搜索路径时,可以利用 `PATHS` 选项。以下是如何使用的示例:
```cmake
find_package(MyCustomLibrary REQUIRED
PATHS /path/to/custom/library
/another/path/to/library
)
```
在这里,`MyCustomLibrary` 是你要找的库名,`REQUIRED` 表示这个库必须存在,如果找不到则会报错。`PATHS` 参数就是提供给 `find_package` 的自定义目录列表,CMake会在这个目录下寻找对应的 `.cmake` 或者库文件(如`.so`, `.dll`, `.lib`, 等)。
如果 `find_package` 找不到库,你可以尝试使用 `NO_DEFAULT_PATH` 关键字来禁用默认搜索路径,只搜索你在 `PATHS` 中指定的路径:
```cmake
find_package(MyCustomLibrary REQUIRED NO_DEFAULT_PATH
PATHS /custom/path
)
```
如果找不到,那么 `find_package` 会立即失败,而不会尝试标准路径。
阅读全文