From b02e6dd2086f80dfe30fd5f9e25de1a11ce533a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Fri, 20 Feb 2015 22:13:34 +0100 Subject: Conversion to CMake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- .gitmodules | 3 ++ CMakeLists.txt | 80 ++++++++++++++++++++++++++++++++++++++++++++++++ avahi-tqt.pc.in | 2 +- avahi-tqt/CMakeLists.txt | 65 +++++++++++++++++++++++++++++++++++++++ cmake | 1 + 5 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 .gitmodules create mode 100644 CMakeLists.txt create mode 100644 avahi-tqt/CMakeLists.txt create mode 160000 cmake diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5b98c56 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "cmake"] + path = cmake + url = http://system@scm.trinitydesktop.org/scm/git/tde-common-cmake diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..d2e5745 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,80 @@ +################################################# +# +# (C) 2015 Slávek Banko +# slavek (DOT) banko (AT) axis.cz +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +cmake_minimum_required( VERSION 2.8 ) + + +##### general package setup ##################### + +project( avahi-tqt ) +set( PACKAGE avahi-tqt ) +set( PACKAGE_VERSION 0.6.30 ) + + +##### include essential cmake modules ########### + +include( FindPkgConfig ) + + +##### include our cmake modules ################# + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) +tde_setup_architecture_flags( ) + + +##### setup install paths ####################### + +include( TDESetupPaths ) +tde_setup_paths( ) + + +##### configure checks ########################## + +find_package( TQt ) +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" ) +set( MOC_TQT_SCRIPT "${TQT_PREFIX}/bin/moc-tqt" ) +if( NOT EXISTS ${MOC_TQT_SCRIPT} ) + tde_message_fatal( "moc-tqt not found!\n Check tqt installation." ) +endif( NOT EXISTS ${MOC_TQT_SCRIPT} ) + +message( STATUS "Checking for avahi-common library" ) +find_library( AVAHI_COMMON NAMES avahi-common ) +if( NOT AVAHI_COMMON ) + tde_message_fatal( "avahi-common library are required, but not found on your system" ) +endif( ) +message( STATUS " found ${AVAHI_COMMON}" ) + +if( UNIX ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden" ) + add_definitions( -DHAVE_VISIBILITY_HIDDEN ) +endif( UNIX ) + + +#### pkg-config ################################# + +set( prefix ${CMAKE_INSTALL_PREFIX} ) +string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}" + exec_prefix ${EXEC_INSTALL_PREFIX} ) +string( REGEX REPLACE "^${EXEC_INSTALL_PREFIX}" "\${exec_prefix}" + libdir ${LIB_INSTALL_DIR} ) +string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}" + includedir ${INCLUDE_INSTALL_DIR} ) + +configure_file( ${CMAKE_PROJECT_NAME}.pc.in ${CMAKE_PROJECT_NAME}.pc @ONLY ) +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}.pc + DESTINATION ${PKGCONFIG_INSTALL_DIR} ) + + +##### build ##################################### + +tde_auto_add_subdirectories() + diff --git a/avahi-tqt.pc.in b/avahi-tqt.pc.in index e47d7fe..167cd13 100644 --- a/avahi-tqt.pc.in +++ b/avahi-tqt.pc.in @@ -1,7 +1,7 @@ prefix=@prefix@ exec_prefix=${prefix} libdir=@libdir@ -includedir=${prefix}/include +includedir=@includedir@ Name: avahi-tqt Description: Avahi Multicast DNS Responder (TQT Support) diff --git a/avahi-tqt/CMakeLists.txt b/avahi-tqt/CMakeLists.txt new file mode 100644 index 0000000..64c5b35 --- /dev/null +++ b/avahi-tqt/CMakeLists.txt @@ -0,0 +1,65 @@ +################################################# +# +# (C) 2015 Slávek Banko +# slavek (DOT) banko (AT) axis.cz +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### library ################################### + +set( target avahi-tqt ) + +tde_add_library( + ${target} SHARED + VERSION 1.0.0 + SOURCES qt-watch.cpp + LINK ${AVAHI_COMMON} ${TQT_LIBRARIES} + DESTINATION ${LIB_INSTALL_DIR} +) + +tde_add_library( + ${target} STATIC_PIC + SOURCES qt-watch.cpp + LINK ${AVAHI_COMMON} ${TQT_LIBRARIES} + DESTINATION ${LIB_INSTALL_DIR} +) + +add_custom_command( + OUTPUT + qt-watch.moc3 + COMMAND + ${MOC_TQT_SCRIPT} + ${MOC_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/qt-watch.cpp + qt-watch.moc3 +) + +set_property( + SOURCE qt-watch.cpp + APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qt-watch.moc3 +) + + +##### headers ################################### + +install( + FILES qt-watch.h + DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME} +) + diff --git a/cmake b/cmake new file mode 160000 index 0000000..1994b80 --- /dev/null +++ b/cmake @@ -0,0 +1 @@ +Subproject commit 1994b808819fd74446cb8f1a0491b3e10244f463 -- cgit v1.2.3