|  | include(FindPackageHandleStandardArgs) | 
|  |  | 
|  | function(__cares_get_version) | 
|  | if(c-ares_INCLUDE_DIR AND EXISTS "${c-ares_INCLUDE_DIR}/ares_version.h") | 
|  | file(STRINGS "${c-ares_INCLUDE_DIR}/ares_version.h" _cares_version_str REGEX "^#define ARES_VERSION_STR \"([^\n]*)\"$") | 
|  | if(_cares_version_str MATCHES "#define ARES_VERSION_STR \"([^\n]*)\"") | 
|  | set(c-ares_VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE) | 
|  | endif() | 
|  | endif() | 
|  | endfunction() | 
|  |  | 
|  | # We need to disable version checking, since c-ares does not provide it. | 
|  | set(_cares_version_var_suffixes "" _MAJOR _MINOR _PATCH _TWEAK _COUNT) | 
|  | foreach(_suffix IN LISTS _cares_version_var_suffixes) | 
|  | set(_cares_save_FIND_VERSION${_suffix} ${c-ares_FIND_VERSION${_suffix}}) | 
|  | unset(c-ares_FIND_VERSION${_suffix}) | 
|  | endforeach() | 
|  | find_package(c-ares CONFIG) | 
|  | foreach(_suffix IN LISTS _cares_version_var_suffixes) | 
|  | set(c-ares_FIND_VERSION${_suffix} ${_cares_save_FIND_VERSION${_suffix}}) | 
|  | endforeach() | 
|  |  | 
|  | if(c-ares_FOUND) | 
|  | if(NOT DEFINED c-ares_VERSION) | 
|  | __cares_get_version() | 
|  | endif() | 
|  |  | 
|  | find_package_handle_standard_args(c-ares CONFIG_MODE) | 
|  | return() | 
|  | endif() | 
|  |  | 
|  | find_path(c-ares_INCLUDE_DIR NAMES ares.h) | 
|  | __cares_get_version() | 
|  |  | 
|  | find_library(c-ares_LIBRARY cares) | 
|  |  | 
|  | find_package_handle_standard_args(c-ares | 
|  | REQUIRED_VARS c-ares_INCLUDE_DIR c-ares_LIBRARY | 
|  | VERSION_VAR c-ares_VERSION | 
|  | ) | 
|  |  | 
|  | if(c-ares_FOUND) | 
|  | add_library(c-ares::cares UNKNOWN IMPORTED) | 
|  | set_target_properties(c-ares::cares PROPERTIES | 
|  | IMPORTED_LOCATION "${c-ares_LIBRARY}" | 
|  | INTERFACE_INCLUDE_DIRECTORIES "${c-ares_INCLUDE_DIR}" | 
|  | ) | 
|  | endif() |