65 lines
1.8 KiB
CMake
65 lines
1.8 KiB
CMake
# - Try to find dnssd library from Bonjour SDK
|
|
# Once done this will define
|
|
#
|
|
# DNSSD_FOUND - system has dnssd library
|
|
# DNSSD_INCLUDE_DIRS - the dnssd include directory
|
|
# DNSSD_LIBRARIES - Link these to use dnssd library
|
|
|
|
if(WIN32)
|
|
cmake_policy(VERSION 3.2)
|
|
endif(WIN32)
|
|
|
|
|
|
if (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
|
|
|
|
# in cache already
|
|
set(DNSSD_FOUND TRUE)
|
|
message(STATUS "Found dnssd: ${DNSSD_LIBRARIES}, ${DNSSD_INCLUDE_DIRS}")
|
|
|
|
else (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
|
|
string(REGEX REPLACE "\\\\" "/" PROGFILES $ENV{PROGRAMFILES})
|
|
string(REGEX REPLACE "\\\\" "/" PROGFILESX86 $ENV{PROGRAMFILES\(x86\)})
|
|
|
|
|
|
set(DNSSD_SEARCH_DIRS "${PROGFILES}/Bonjour SDK" "${PROGFILESX86}/Bonjour SDK" ${BONJOUR_ROOT_DIR})
|
|
|
|
find_path(DNSSD_INCLUDE_DIRS dns_sd.h
|
|
PATHS ${DNSSD_SEARCH_DIRS}
|
|
PATH_SUFFIXES "Include"
|
|
)
|
|
|
|
if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
|
|
set(DNSSD_LIBRARY_PATH_SUFFIX "Lib/Win32")
|
|
else()
|
|
set(DNSSD_LIBRARY_PATH_SUFFIX "Lib/x64")
|
|
endif()
|
|
|
|
find_library(DNSSD_LIBRARIES NAMES dnssd
|
|
PATHS ${DNSSD_SEARCH_DIRS}
|
|
PATH_SUFFIXES ${DNSSD_LIBRARY_PATH_SUFFIX}
|
|
|
|
)
|
|
|
|
set(CMAKE_REQUIRED_INCLUDES ${DNSSD_INCLUDE_DIRS})
|
|
set(CMAKE_REQUIRED_LIBRARIES ${DNSSD_LIBRARIES})
|
|
|
|
if(DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
|
|
set(DNSSD_FOUND TRUE)
|
|
else (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
|
|
set(DNSSD_FOUND FALSE)
|
|
endif(DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
|
|
|
|
if (DNSSD_FOUND)
|
|
if (NOT DNSSD_FIND_QUIETLY)
|
|
message(STATUS "Found dnssd: ${DNSSD_LIBRARIES}, ${DNSSD_INCLUDE_DIRS}")
|
|
endif (NOT DNSSD_FIND_QUIETLY)
|
|
else (DNSSD_FOUND)
|
|
if (DNSSD_FIND_REQUIRED)
|
|
message(FATAL_ERROR "dnssd not found!")
|
|
endif (DNSSD_FIND_REQUIRED)
|
|
endif (DNSSD_FOUND)
|
|
|
|
mark_as_advanced(DNSSD_INCLUDE_DIRS DNSSD_LIBRARIES)
|
|
|
|
endif (DNSSD_INCLUDE_DIRS AND DNSSD_LIBRARIES)
|