kdelibs/cmake/modules/FindDNSSD.cmake
Ivailo Monev 220edf11d7 generic: replace use of MacroPushRequiredVars CMake module with CMakePushCheckState
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-19 17:32:31 +00:00

50 lines
1.5 KiB
CMake

# - Try to find DNSSD
# Once done this will define
#
# DNSSD_FOUND - system has DNSSD
# DNSSD_INCLUDE_DIR - the DNSSD include directory
# DNSSD_LIBRARIES - Link these to use dnssd
# DNSSD_DEFINITIONS - Compiler switches required for using DNSSD
#
# need more test: look at into dnssd/configure.in.in
# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
include(CMakePushCheckState)
FIND_PATH(DNSSD_INCLUDE_DIR dns_sd.h
/usr/include/avahi-compat-libdns_sd/
)
if (DNSSD_INCLUDE_DIR)
if (APPLE)
set(DNSSD_LIBRARIES "/usr/lib/libSystem.dylib")
else (APPLE)
FIND_LIBRARY(DNSSD_LIBRARIES NAMES dns_sd )
endif (APPLE)
cmake_reset_check_state()
set(CMAKE_REQUIRED_INCLUDES ${DNSSD_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${DNSSD_LIBRARIES})
CHECK_FUNCTION_EXISTS(DNSServiceRefDeallocate DNSSD_FUNCTION_FOUND)
cmake_pop_check_state()
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)
message(STATUS "Found DNSSD: ${DNSSD_LIBRARIES}")
endif (NOT DNSSD_FIND_QUIETLY)
else (DNSSD_FOUND)
if (DNSSD_FIND_REQUIRED)
message(FATAL_ERROR "Could NOT find DNSSD")
endif (DNSSD_FIND_REQUIRED)
endif (DNSSD_FOUND)
MARK_AS_ADVANCED(DNSSD_INCLUDE_DIR DNSSD_LIBRARIES)