From 5b01ae52681f35ffc674dc8ca674ef82e590ac3f Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Sun, 17 Apr 2011 21:25:24 +0200 Subject: [PATCH] On default use system jreen package, allow the user to enforce in-tree compilation with -DINTERNAL_JREEN=ON. --- CMakeLists.txt | 39 ++++++++++++++++++++---------------- CMakeModules/FindJreen.cmake | 8 +++++--- src/sip/jreen/CMakeLists.txt | 1 - thirdparty/CMakeLists.txt | 4 ++-- 4 files changed, 29 insertions(+), 23 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cc5a74825..7cd00c3c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,28 @@ macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVarian macro_optional_find_package(Taglib 1.6.0) macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://developer.kde.org/~wheeler/taglib.html" TRUE "" "taglib is needed for reading meta data from audio files") +# this installs headers and such and should really be handled in a separate package by packagers +IF( INTERNAL_JREEN ) + 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 ) + IF( APPLE ) + SET( LIBJREEN_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/libjreen.dylib ) + ENDIF( APPLE ) + IF( WIN32 ) + SET( LIBJREEN_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/libjreen.dll ) + ENDIF( WIN32 ) + + SET( LIBJREEN_FOUND true ) + MESSAGE(STATUS "INTERNAL libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}") +ELSE( INTERNAL_JREEN ) + macro_optional_find_package(Jreen) +ENDIF( INTERNAL_JREEN ) +macro_log_feature(LIBJREEN_FOUND "Jreen" "Qt XMPP Library" "http://gitorious.org/jreen/jreen" FALSE "" "Jreen is needed for the Jabber SIP plugin. \n\n Use -DINTERNAL_JREEN=ON to build the git submodule inside Tomahawk \n Be aware this installs a full jreen with headers and everything!") + # we need pthreads too find_package(Threads) @@ -65,23 +87,6 @@ ENDIF() include( CheckTagLibFileName ) check_taglib_filename( COMPLEX_TAGLIB_FILENAME ) -# optional -macro_optional_find_package(Jreen) -IF( NOT LIBJREEN_FOUND ) - SET( CMAKE_C_FLAGS ${CLEAN_C_FLAGS} ) - 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 ) - IF( WIN32 ) - SET( LIBJREEN_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/libjreen.dll ) - ENDIF( WIN32 ) - SET( LIBJREEN_FOUND true ) - MESSAGE(STATUS "Internal libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}") -ENDIF( NOT LIBJREEN_FOUND ) - - IF( WIN32 ) find_library(QTSPARKLE_LIBRARIES qtsparkle) ENDIF( WIN32 ) diff --git a/CMakeModules/FindJreen.cmake b/CMakeModules/FindJreen.cmake index 301eb24e7..9174ca65a 100644 --- a/CMakeModules/FindJreen.cmake +++ b/CMakeModules/FindJreen.cmake @@ -6,15 +6,15 @@ # LIBJREEN_FOUND, whether libjreen was found -find_path(LIBJREEN_INCLUDE_DIR NAMES jreen.h +find_path(LIBJREEN_INCLUDE_DIR NAMES jreen/jreen.h HINTS ~/usr/include /opt/local/include /usr/include /usr/local/include /opt/kde4/include + ${CMAKE_INSTALL_PREFIX}/include ${KDE4_INCLUDE_DIR} - PATH_SUFFIXES jreen ) find_library( LIBJREEN_LIBRARY NAMES jreen @@ -25,6 +25,8 @@ find_library( LIBJREEN_LIBRARY NAMES jreen /usr/lib64 /usr/local/lib /opt/kde4/lib + ${CMAKE_INSTALL_PREFIX}/lib + ${CMAKE_INSTALL_PREFIX}/lib64 ${KDE4_LIB_DIR} ) @@ -33,7 +35,7 @@ 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) + set(LIBJREEN_FOUND FALSE) if (LIBJREEN_FIND_REQUIRED) message(FATAL_ERROR "Could NOT find required package libjreen") endif(LIBJREEN_FIND_REQUIRED) diff --git a/src/sip/jreen/CMakeLists.txt b/src/sip/jreen/CMakeLists.txt index 50f33a7c6..7cf3d3dd2 100644 --- a/src/sip/jreen/CMakeLists.txt +++ b/src/sip/jreen/CMakeLists.txt @@ -23,7 +23,6 @@ set( jabberHeaders include_directories( . ${CMAKE_CURRENT_BINARY_DIR} .. ${QT_INCLUDE_DIR} ${LIBJREEN_INCLUDE_DIR} - ${CMAKE_SOURCE_DIR}/thirdparty/jreen/src/ ) qt4_wrap_cpp( jabberMoc ${jabberHeaders} ) diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index f28fdff43..dc734eac2 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -1,5 +1,5 @@ -add_subdirectory( jdns ) -add_subdirectory( qtweetlib ) +ADD_SUBDIRECTORY( jdns ) +ADD_SUBDIRECTORY( qtweetlib ) ADD_SUBDIRECTORY( libportfwd ) ADD_SUBDIRECTORY( qxt ) ADD_SUBDIRECTORY( liblastfm2 )