diff --git a/CMakeLists.txt b/CMakeLists.txt index 8496e5f..f2fa681 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,20 @@ project(QtZeroConf) +cmake_minimum_required(VERSION 2.8.11) find_package(Qt5 COMPONENTS Core Network) set(CMAKE_AUTOMOC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) -add_library(QtZeroConf +set(PUBLIC_HEADERS qzeroconfservice.h qzeroconfglobal.h - qzeroconfservice.cpp qzeroconf.h ) +add_library(QtZeroConf + ${PUBLIC_HEADERS} + qzeroconfservice.cpp +) if(BUILD_SHARED_LIBS) target_compile_definitions(QtZeroConf PRIVATE QT_BUILD_ZEROCONF_LIB) @@ -20,11 +24,13 @@ endif() if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") target_sources(QtZeroConf PRIVATE - avahi-qt/qt-watch.h avahi-qt/qt-watch_p.h avahi-qt/qt-watch.cpp avahiclient.cpp ) + list(APPEND ${PUBLIC_HEADERS} + avahi-qt/qt-watch.h + ) target_link_libraries(QtZeroConf PRIVATE libavahi) endif() @@ -37,18 +43,20 @@ if(APPLE) target_link_libraries(QtZeroConf PUBLIC ${CoreServices}) endif() -target_include_directories(QtZeroConf PUBLIC "${CMAKE_CURRENT_LIST_DIR}") +target_include_directories(QtZeroConf PUBLIC + $ + $ +) target_link_libraries(QtZeroConf PUBLIC Qt5::Core Qt5::Network) if(WIN32) target_sources(QtZeroConf PRIVATE - qzeroconf.h bonjour_p.h bonjour.cpp bonjour-sdk/dnssd_clientlib.c bonjour-sdk/dnssd_clientstub.c bonjour-sdk/dnssd_ipc.c - ) + ) target_link_libraries(QtZeroConf PUBLIC ws2_32) if(MSVC) target_link_libraries(QtZeroConf PUBLIC "legacy_stdio_definitions.lib") @@ -121,6 +129,18 @@ if(ANDROID) ${ACR}/timeeventq.c ${ACR}/util.c ${ACR}/wide-area.c -) + ) + list(APPEND ${PUBLIC_HEADERS} + avahi-qt/qt-watch.h + ) target_compile_definitions(QtZeroConf PRIVATE HAVE_STRLCPY GETTEXT_PACKAGE HAVE_NETLINK) endif() + +# install +set_target_properties(QtZeroConf PROPERTIES PUBLIC_HEADER + "${PUBLIC_HEADERS}" +) +install(TARGETS QtZeroConf + LIBRARY DESTINATION lib + PUBLIC_HEADER DESTINATION include/QtZeroConf +)