diff options
Diffstat (limited to 'modules/FindDNSSD.cmake')
-rw-r--r-- | modules/FindDNSSD.cmake | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/modules/FindDNSSD.cmake b/modules/FindDNSSD.cmake index 2e62255f..3374c310 100644 --- a/modules/FindDNSSD.cmake +++ b/modules/FindDNSSD.cmake @@ -19,15 +19,23 @@ FIND_PATH(DNSSD_INCLUDE_DIR dns_sd.h /usr/include/avahi-compat-libdns_sd/ ) -if (APPLE) - set(DNSSD_LIBRARIES "/usr/lib/libSystem.dylib") -else (APPLE) - FIND_LIBRARY(DNSSD_LIBRARIES NAMES dns_sd ) -endif (APPLE) +if (DNSSD_INCLUDE_DIR) + if (APPLE) + set(DNSSD_LIBRARIES "/usr/lib/libSystem.dylib") + else (APPLE) + FIND_LIBRARY(DNSSD_LIBRARIES NAMES dns_sd ) + endif (APPLE) -if (DNSSD_INCLUDE_DIR AND DNSSD_LIBRARIES) - set(DNSSD_FOUND TRUE) -endif (DNSSD_INCLUDE_DIR AND DNSSD_LIBRARIES) + MACRO_PUSH_REQUIRED_VARS() + set(CMAKE_REQUIRED_INCLUDES ${DNSSD_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${DNSSD_LIBRARIES}) + CHECK_FUNCTION_EXISTS(DNSServiceRefDeallocate DNSSD_FUNCTION_FOUND) + MACRO_POP_REQUIRED_VARS() + + if (DNSSD_INCLUDE_DIR AND DNSSD_LIBRARIES AND DNSSD_FUNCTION_FOUND) + set(DNSSD_FOUND TRUE) + endif (DNSSD_INCLUDE_DIR AND DNSSD_LIBRARIES AND DNSSD_FUNCTION_FOUND) +endif (DNSSD_INCLUDE_DIR) if (DNSSD_FOUND) if (NOT DNSSD_FIND_QUIETLY) |