前面已经介绍了find_package(),这里继续学习自定义find<project_name>.cmake
在find<project_name>.cmake中首先引入find_package相关函——
find_package_handle_standard_args(<PackageName>
[FOUND_VAR <result-var>]
[REQUIRED_VARS <required-var>...]
[VERSION_VAR <version-var>]
[HANDLE_COMPONENTS]
[CONFIG_MODE]
[FAIL_MESSAGE <custom-failure-message>]
)
其中:
FOUND_VAR <result-var>
查找返回的变量:
<PackageName>_FOUND
REQUIRED_VARS <required-var>...
所需要的变量:如<PackageName>_INCLUDE_DIR, <PackageName>__LIBRARYS
VERSION_VAR <version-var>
版本号
HANDLE_COMPONENTS
操作组件,在此命令下,就会对我们所需的components进行查找,
CONFIG_MODE
FAIL_MESSAGE <custom-failure-message>
自定义的failure message
我们常使用前3、4个参数。使用如下:
#与find_package(<project_name>)相对应
include(FindPackageHandleStandardArgs)
#查找并给<project_name>_INCLUDE_DIR <project_name>_LIBRARYS <project_name>_VERSION
##
#通过find_package_handle_standard_args并验证3个参数 <project_name>_INCLUDE_DIR
#<project_name>_LIBRARY <project_name>_VERSION
find_package_handle_standard_args(<project_name>
REQUIRED_VARS <project_name>_INCLUDE_DIR <project_name>_LIBRARYS
VERSION_VAR <project_name>_VERSION)