cmake find_package
参考:
使用
通过find_package命令,可以找到三方库对应的头文件路径和库文件路径,不用手动管理这些路径了。例如要引用CURL库,在CMakeLists文件可以简单写成下面的形式
1 |
|
原理
find_package 有两种搜索模式
Module mode
在CMAKE_MODULE_PATH
指定的路径下搜索名为Find<PackageName>.cmake
的文件
该文件提供了库对应的头文件和库文件路径。
Config mode
搜索
<lowercasePackageName>-config.cmake
或者<PackageName>Config.cmake
搜索
<lowercasePackageName>-config-version.cmake
或者<PackageName>ConfigVersion.cmake
如果找到
<PackageName>_FOUND
为true<PackageName>_INCLUDE_DIR
会被设置<PackageName>_LIBRARY
会被设置
找不到
<PackageName>_FOUND
为false
如何写Find<PackageName>.cmake
wasmint/FindSDL2.cmake at master · WebAssembly/wasmint · GitHub
调用find_path找头文件路径
调用find_library找库的路径
通过CMAKE_MODULE_PATH指定路径,就可以通过find_package命令使用该三方库的头文件和库文件了。
cmake find_package
https://yxibng.github.io/2022/03/13/cmake/2022-03-13-cmake find_package/