From 8cdf8dec703d882b46ca50a769fabb95ffc48e2c Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 24 Nov 2016 21:27:41 +0100 Subject: sync with upstream --- project/cmake/modules/FindAvahi.cmake | 71 ++++++++++++++++++++++++++--------- 1 file changed, 54 insertions(+), 17 deletions(-) (limited to 'project/cmake/modules/FindAvahi.cmake') diff --git a/project/cmake/modules/FindAvahi.cmake b/project/cmake/modules/FindAvahi.cmake index 24bf15c..77c3e4d 100644 --- a/project/cmake/modules/FindAvahi.cmake +++ b/project/cmake/modules/FindAvahi.cmake @@ -1,26 +1,63 @@ -# - Try to find avahi -# Once done this will define +#.rst: +# FindAvahi +# --------- +# Finds the avahi library +# +# This will will define the following variables:: # # AVAHI_FOUND - system has avahi # AVAHI_INCLUDE_DIRS - the avahi include directory -# AVAHI_LIBRARIES - The avahi libraries +# AVAHI_LIBRARIES - the avahi libraries +# AVAHI_DEFINITIONS - the avahi definitions +# +# and the following imported targets:: +# +# Avahi::Avahi - The avahi library if(PKG_CONFIG_FOUND) - pkg_check_modules (AVAHI avahi-client) - list(APPEND AVAHI_INCLUDE_DIRS ${AVAHI_INCLUDEDIR}) -else() - find_path(AVAHI_CLIENT_INCLUDE_DIRS avahi-client/client.h) - find_path(AVAHI_COMMON_INCLUDE_DIRS avahi-common/defs.h) - find_library(AVAHI_COMMON_LIBRARIES avahi-common) - find_library(AVAHI_CLIENT_LIBRARIES avahi-common) - set(AVAHI_INCLUDE_DIRS ${AVAHI_CLIENT_INCLUDE_DIRS} - ${AVAHI_COMMON_INCLUDE_DIRS}) - set(AVAHI_LIBRARIES ${AVAHI_CLIENT_LIBRARIES} - ${AVAHI_COMMON_LIBRARIES}) + pkg_check_modules(PC_AVAHI avahi-client QUIET) endif() +find_path(AVAHI_CLIENT_INCLUDE_DIR NAMES avahi-client/client.h + PATHS ${PC_AVAHI_INCLUDEDIR}) +find_path(AVAHI_COMMON_INCLUDE_DIR NAMES avahi-common/defs.h + PATHS ${PC_AVAHI_INCLUDEDIR}) +find_library(AVAHI_CLIENT_LIBRARY NAMES avahi-client + PATHS ${PC_AVAHI_LIBDIR}) +find_library(AVAHI_COMMON_LIBRARY NAMES avahi-common + PATHS ${PC_AVAHI_LIBDIR}) + +set(AVAHI_VERSION ${PC_AVAHI_VERSION}) + include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Avahi DEFAULT_MSG AVAHI_INCLUDE_DIRS AVAHI_LIBRARIES) +find_package_handle_standard_args(Avahi + REQUIRED_VARS AVAHI_CLIENT_LIBRARY AVAHI_COMMON_LIBRARY + AVAHI_CLIENT_INCLUDE_DIR AVAHI_COMMON_INCLUDE_DIR + VERSION_VAR AVAHI_VERSION) + +if(AVAHI_FOUND) + set(AVAHI_INCLUDE_DIRS ${AVAHI_CLIENT_INCLUDE_DIR} + ${AVAHI_COMMON_INCLUDE_DIR}) + set(AVAHI_LIBRARIES ${AVAHI_CLIENT_LIBRARY} + ${AVAHI_COMMON_LIBRARY}) + set(AVAHI_DEFINITIONS -DHAVE_LIBAVAHI_CLIENT=1 -DHAVE_LIBAVAHI_COMMON=1) + + if(NOT TARGET Avahi::Avahi) + add_library(Avahi::Avahi UNKNOWN IMPORTED) + set_target_properties(Avahi::Avahi PROPERTIES + IMPORTED_LOCATION "${AVAHI_CLIENT_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${AVAHI_CLIENT_INCLUDE_DIR}" + INTERFACE_COMPILE_DEFINITIONS HAVE_LIBAVAHI_CLIENT=1) + endif() + if(NOT TARGET Avahi::AvahiCommon) + add_library(Avahi::AvahiCommon UNKNOWN IMPORTED) + set_target_properties(Avahi::AvahiCommon PROPERTIES + IMPORTED_LOCATION "${AVAHI_COMMON_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${AVAHI_COMMON_INCLUDE_DIR}" + INTERFACE_COMPILE_DEFINITIONS HAVE_LIBAVAHI_COMMON=1 + INTERFACE_LINK_LIBRARIES Avahi::Avahi) + endif() +endif() -mark_as_advanced(AVAHI_INCLUDE_DIRS AVAHI_LIBRARIES) -list(APPEND AVAHI_DEFINITIONS -DHAVE_LIBAVAHI_COMMON=1 -DHAVE_LIBAVAHI_CLIENT=1) +mark_as_advanced(AVAHI_CLIENT_INCLUDE_DIR AVAHI_COMMON_INCLUDE_DIR + AVAHI_CLIENT_LIBRARY AVAHI_COMMON_LIBRARY) -- cgit v1.2.3