gentoo-overlay/net-libs/telepathy-qt/files/telepathy-qt-0.9.0-automagicness.patch

198 lines
7.6 KiB
Diff

--- telepathy-qt-0.9.0.orig/CMakeLists.txt 2011-12-20 21:33:46.000000000 +0100
+++ telepathy-qt-0.9.0/CMakeLists.txt 2012-01-24 23:32:57.000000000 +0100
@@ -73,6 +73,12 @@
include(MacroLogFeature)
+# options
+option(WITH_Glib "Enable building with glib features" ON)
+option(WITH_Farsight "Enable building with farsight features" ON)
+option(ENABLE_DEBUG_OUTPUT "Compile support for printing debug output to stderr" ON)
+option(WITH_Test "Enable test suite" ON)
+
# external dependencies
# Required dependencies
@@ -108,31 +114,9 @@
add_definitions(-DQT_NO_CAST_FROM_ASCII)
-set(ENABLE_DEBUG_OUTPUT ON CACHE BOOL "If activated, compiles support for printing debug output to stderr")
-if (ENABLE_DEBUG_OUTPUT)
+if(ENABLE_DEBUG_OUTPUT)
add_definitions(-DENABLE_DEBUG)
-endif (ENABLE_DEBUG_OUTPUT)
-
-# Check for Qt Glib support
-include(CheckCXXSourceCompiles)
-set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES})
-set(CMAKE_REQUIRED_DEFINITIONS "")
-set(CMAKE_REQUIRED_FLAGS "")
-
-CHECK_CXX_SOURCE_COMPILES("
-#include <QtCore/QtGlobal>
-int main()
-{
-#if defined(QT_NO_GLIB)
-#error \"Qt was compiled with Glib disabled\"
-#endif
-return 0;
-}"
-QT_GLIB_SUPPORT)
-macro_log_feature(QT_GLIB_SUPPORT "Qt Glib Support"
- "QtCore library using Glib's main event loop"
- "http://qt.nokia.com/" FALSE ""
- "Needed, together with Telepathy-Glib, to build most of the unit tests")
+endif(ENABLE_DEBUG_OUTPUT)
# Find python version >= 2.5
find_package(PythonLibrary REQUIRED)
@@ -158,63 +142,100 @@
# Find GLib2, GObject, DBus and LibXml2
# Those are needed for the insane include dir dependency hell
-find_package(GLIB2)
-find_package(GObject)
-find_package(GIO)
-find_package(GIOUnix)
-find_package(DBus)
-find_package(DBusGLib)
-find_package(LibXml2)
-
-# Find tp-farsight
-set(TELEPATHY_FARSIGHT_MIN_VERSION "0.0.4")
-find_package(TelepathyFarsight)
-macro_log_feature(TELEPATHYFARSIGHT_FOUND "Telepathy-Farsight"
- "A Framework for dealing with audio/video conferencing protocols"
- "http://farsight.freedesktop.org/wiki/" FALSE "0.0.4"
- "Needed, together with GStreamer, to build telepathy-qt-farsight and some additional examples")
-
-# Find GStreamer
-find_package(GStreamer)
-macro_log_feature(GSTREAMER_FOUND "GStreamer"
- "An open source multimedia framework"
- "Needed, together with Tp-Farsight, to build telepathy-qt-farsight and some additional examples"
- "http://www.gstreamer.net/" FALSE)
-
-# Build TelepathyQt-Farsight only if GStreamer, TelepathyFarsight and all of their dependencies were found
-if (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
- set (FARSIGHT_COMPONENTS_FOUND 1)
-else (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+if (WITH_Farsight)
+ find_package(GLIB2)
+ find_package(GObject)
+ find_package(DBus)
+ find_package(DBusGLib)
+ find_package(LibXml2)
+
+ # Find tp-farsight
+ set(TELEPATHY_FARSIGHT_MIN_VERSION "0.0.4")
+ find_package(TelepathyFarsight)
+ macro_log_feature(TELEPATHYFARSIGHT_FOUND "Telepathy-Farsight"
+ "A Framework for dealing with audio/video conferencing protocols"
+ "http://farsight.freedesktop.org/wiki/" FALSE "0.0.4"
+ "Needed, together with GStreamer, to build telepathy-qt-farsight and some additional examples")
+
+ # Find GStreamer
+ find_package(GStreamer)
+ macro_log_feature(GSTREAMER_FOUND "GStreamer"
+ "An open source multimedia framework"
+ "Needed, together with Tp-Farsight, to build telepathy-qt-farsight and some additional examples"
+ "http://www.gstreamer.net/" FALSE)
+
+ # Build TelepathyQt-Farsight only if GStreamer, TelepathyFarsight and all of their dependencies were found
+ if (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+ set (FARSIGHT_COMPONENTS_FOUND 1)
+ else (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+ set (FARSIGHT_COMPONENTS_FOUND 0)
+ endif (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+else(WITH_Farsight)
set (FARSIGHT_COMPONENTS_FOUND 0)
-endif (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+endif(WITH_Farsight)
# Find telepathy-glib
-set(TELEPATHY_GLIB_MIN_VERSION 0.17.2)
-find_package(TelepathyGlib)
-macro_log_feature(TELEPATHYGLIB_FOUND "Telepathy-glib"
- "Glib bindings for Telepathy"
- "http://telepathy.freedesktop.org/" FALSE ${TELEPATHY_GLIB_MIN_VERSION}
- "Needed, together with Qt Glib integration, to build most of the unit tests")
-
-find_program(GLIB_GENMARSHAL glib-genmarshal)
-
-# Enable glib-based tests only if Qt has GLib support and Telepathy-glib was found
-if(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
- set(ENABLE_TP_GLIB_TESTS 1)
- if(GIO_FOUND AND GIOUNIX_FOUND)
- set(ENABLE_TP_GLIB_GIO_TESTS 1)
- else(GIO_FOUND AND GIOUNIX_FOUND)
- set(ENABLE_TP_GLIB_GIO_TESTS 0)
- endif(GIO_FOUND AND GIOUNIX_FOUND)
-else(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+if(WITH_Glib)
+ # Check for Qt Glib support
+ include(CheckCXXSourceCompiles)
+ set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES})
+ set(CMAKE_REQUIRED_DEFINITIONS "")
+ set(CMAKE_REQUIRED_FLAGS "")
+
+ CHECK_CXX_SOURCE_COMPILES("E_TP
+ #include <QtCore/QtGlobal>
+ int main()
+ {
+ #if defined(QT_NO_GLIB)
+ #error \"Qt was compiled with Glib disabled\"
+ #endif
+ return 0;
+ }"
+ QT_GLIB_SUPPORT)
+ macro_log_feature(QT_GLIB_SUPPORT "Qt Glib Support"
+ "QtCore library using Glib's main event loop"
+ "http://qt.nokia.com/" FALSE ""
+ "Needed, together with Telepathy-Glib, to build most of the unit tests")
+
+ find_package(GLIB2 REQUIRED)
+ find_package(GIO)
+ find_package(GIOUnix)
+ find_package(DBus REQUIRED)
+
+ # Find telepathy-glib
+ set(TELEPATHY_GLIB_MIN_VERSION 0.17.2)
+ find_package(TelepathyGlib)
+ macro_log_feature(TELEPATHYGLIB_FOUND "Telepathy-glib"
+ "Glib bindings for Telepathy"
+ "http://telepathy.freedesktop.org/" FALSE ${TELEPATHY_GLIB_MIN_VERSION}
+ "Needed, together with Qt Glib integration, to build most of the unit tests")
+
+ find_program(GLIB_GENMARSHAL glib-genmarshal)
+
+ # Enable glib-based tests only if Qt has GLib support and Telepathy-glib was found
+ if(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+ set(ENABLE_TP_GLIB_TESTS 1)
+ if(GIO_FOUND AND GIOUNIX_FOUND)
+ set(ENABLE_TP_GLIB_GIO_TESTS 1)
+ else(GIO_FOUND AND GIOUNIX_FOUND)
+ set(ENABLE_TP_GLIB_GIO_TESTS 0)
+ endif(GIO_FOUND AND GIOUNIX_FOUND)
+ else(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+ set(ENABLE_TP_GLIB_TESTS 0)
+ set(ENABLE_TP_GLIB_GIO_TESTS 0)
+ endif(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+else(WITH_Glib)
set(ENABLE_TP_GLIB_TESTS 0)
set(ENABLE_TP_GLIB_GIO_TESTS 0)
-endif(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+endif(WITH_Glib)
+
# Add the source subdirectories
add_subdirectory(TelepathyQt)
add_subdirectory(examples)
-add_subdirectory(tests)
+if(WITH_Test)
+ add_subdirectory(tests)
+endif(WITH_Test)
add_subdirectory(tools)
# Generate config.h and config-version.h