aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/FindDNSSD.cmake24
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)