作用
用于验证包的所有指定的变量是否都是有效的结果;
如果都是有效的,就人为包已经找到,则一切正常;
如果有变量的值是否定的,空的,无效的,则人为这个包没有找到,则
使用
FindPackageHandleStandardArgs.cmake 是 CMake 内置的一个模块,它用于定义一个宏,所以使用时需要先加载这个模块:
include(FindPackageHandleStandardArgs)
格式
find_package_handle_standard_args(<PackageName>[FOUND_VAR <result-var>][REQUIRED_VARS <required-var>...][VERSION_VAR <version-var>][HANDLE_VERSION_RANGE][HANDLE_COMPONENTS][CONFIG_MODE][NAME_MISMATCHED][REASON_FAILURE_MESSAGE <reason-failure-message>][FAIL_MESSAGE <custom-failure-message>])
参数
FOUND_VAR:
这个变量是定义的,这个变量的值有后面纸档的所有变量的结果决定,如果后面的REQUIRED_VARS,VERSION_VA指定的变量的值都是有效的,那么FOUND_VAR指定的变量将被设置为true,否则被设置为false,外部find_package之后,可以通过这个_FOUND变量的值来确定包是否被找到。
这个变量是包验证的结果。
REQUIRED_VARS:
需要验证的所有变量;
VERSION_VAR:
需要验证的包的版本变量;
用途
在自定义一个.cmake模块的时候,会用到。
教程
官网
链接1