
if(NOT PAPILLON_INSIDE_KOPETE)
project(libpapillon)

# search packages used by KDE (TODO: Use Qt only)
find_package(KDE4 REQUIRED)
include (KDE4Defaults)
include (MacroLibrary)

link_directories (${KDE4_LIB_DIR})
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})

endif(NOT PAPILLON_INSIDE_KOPETE)

# Propagate includes to tests subdirs
set(PAPILLON_INCLUDES
${CMAKE_CURRENT_SOURCE_DIR}/include/
${CMAKE_CURRENT_SOURCE_DIR}/contactlist/
${CMAKE_CURRENT_SOURCE_DIR}/include/Papillon/Base/
)

add_subdirectory( tests )

include_directories(${PAPILLON_INCLUDES})

include(PapillonMoc.cmake)

########### next target ###############

set(papillon_base_SRCS
base/bytestream.cpp
base/bytestreambase.cpp
base/connector.cpp
base/safedelete.cpp
base/stream.cpp
)

set(papillon_private_contactlist_SRCS
contactlist/fetchcontactlistjob.cpp
contactlist/sharingservicebinding.cpp
)

set(papillon_http_SRCS
http/tweenerhandler.cpp
http/httptransfer.cpp
http/httpcoreprotocol.cpp
http/httpconnection.cpp
)

set(papillon_network_SRCS
network/ipendpointconnector.cpp
network/networkstream.cpp
)

set(papillon_tasks_SRCS
tasks/challengetask.cpp
tasks/logintask.cpp
tasks/notifymessagetask.cpp
tasks/notifypresencetask.cpp
tasks/notifystatusmessagetask.cpp
tasks/setpresencetask.cpp
tasks/setpersonalinformationtask.cpp
tasks/setstatusmessagetask.cpp
)

set(libpapillon_SRCS
${papillon_base_SRCS}
${papillon_private_contactlist_SRCS}
${papillon_http_SRCS}
${papillon_network_SRCS}
${papillon_tasks_SRCS}
task.cpp
messengercoreprotocol.cpp
networkmessage.cpp
papillonclientstream.cpp
qtconnector.cpp
qtbytestream.cpp
connection.cpp
client.cpp
mimeheader.cpp
contactlist.cpp
contact.cpp
papillonglobal.cpp
papillonstatusmessage.cpp
usercontact.cpp
)

foreach(_src_FILE ${libpapillon_SRCS})
   set_source_files_properties(${_src_FILE} PROPERTIES SKIP_AUTOMOC TRUE)  # don't run automoc on this file
endforeach(_src_FILE)

kde4_add_library(papillon_kopete SHARED ${libpapillon_SRCS})

target_link_libraries( papillon_kopete ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} )

set_target_properties( papillon_kopete PROPERTIES VERSION 1.0.0 SOVERSION 1 )

install(TARGETS papillon_kopete ${INSTALL_TARGETS_DEFAULT_ARGS})

