mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.5 KiB
48 lines
1.5 KiB
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()
|
|
|