From 9967fea0ac483a4eb58b79cc20b2eb9ca4714f1c Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Mon, 28 Feb 2011 00:58:39 +0100 Subject: [PATCH] Build submodule if jreen is not installed systemwide and disable gloox based jabber plugin --- CMakeLists.txt | 19 ++++++++++++++-- CMakeModules/FindJreen.cmake | 42 ++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 CMakeModules/FindJreen.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 2152ac0be..f1afb001f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,9 +40,24 @@ include( CheckTagLibFileName ) check_taglib_filename( COMPLEX_TAGLIB_FILENAME ) # optional -macro_optional_find_package(Gloox 1.0) -macro_log_feature(GLOOX_FOUND "Gloox" "A portable high-level Jabber/XMPP library for C++" "http://camaya.net/gloox" FALSE "" "Gloox is needed for the Jabber SIP plugin and the XMPP-Bot") +macro_optional_find_package(Jreen) +IF( ENABLE_JREEN AND NOT LIBJREEN_FOUND ) + ADD_SUBDIRECTORY( thirdparty/jreen ) + SET( LIBJREEN_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/include ) + IF( UNIX AND NOT APPLE ) + SET( LIBJREEN_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/libjreen.so ) + ENDIF( UNIX AND NOT APPLE ) + SET( LIBJREEN_FOUND true ) + MESSAGE(STATUS "Internal libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}") +ENDIF( ENABLE_JREEN AND NOT LIBJREEN_FOUND ) +macro_log_feature(JREEN_FOUND "Jreen" "Qt XMPP library" "http://gitorious.org/jreen" FALSE "" "Jreen is needed for the alternative/new Jabber SIP plugin. Built automatically inside Tomahawk, if not installed systemwide and ENABLE_JREEN is true") + +macro_optional_find_package(Gloox 1.0) +IF( ENABLE_JREEN ) + set( GLOOX_FOUND false ) +ENDIF( ENABLE_JREEN) +macro_log_feature(GLOOX_FOUND "Gloox" "A portable high-level Jabber/XMPP library for C++" "http://camaya.net/gloox" FALSE "" "Gloox is needed for the Jabber SIP plugin and the XMPP-Bot") #show dep log macro_display_feature_log() MESSAGE("WARNING!") diff --git a/CMakeModules/FindJreen.cmake b/CMakeModules/FindJreen.cmake new file mode 100644 index 000000000..301eb24e7 --- /dev/null +++ b/CMakeModules/FindJreen.cmake @@ -0,0 +1,42 @@ +# - Find libjreen +# Find the libjreen includes and the libjreen libraries +# This module defines +# LIBJREEN_INCLUDE_DIR, root jreen include dir. Include jreen includes with jreen/foo.h +# LIBJREEN_LIBRARY, the path to libjreen +# LIBJREEN_FOUND, whether libjreen was found + + +find_path(LIBJREEN_INCLUDE_DIR NAMES jreen.h + HINTS + ~/usr/include + /opt/local/include + /usr/include + /usr/local/include + /opt/kde4/include + ${KDE4_INCLUDE_DIR} + PATH_SUFFIXES jreen +) + +find_library( LIBJREEN_LIBRARY NAMES jreen + PATHS + ~/usr/lib + /opt/local/lib + /usr/lib + /usr/lib64 + /usr/local/lib + /opt/kde4/lib + ${KDE4_LIB_DIR} +) + + +if(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY) + set(LIBJREEN_FOUND TRUE) + message(STATUS "Found libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}") +else(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY) + set(LIBJREEN_FOUND FALSE) + if (LIBJREEN_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find required package libjreen") + endif(LIBJREEN_FIND_REQUIRED) +endif(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY) + +mark_as_advanced(LIBJREEN_INCLUDE_DIR LIBJREEN_LIBRARY)