--- 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 -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 + 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