# needed to compile the code in subdirectories
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

#add_subdirectory(tests)

# taken from dolphin
macro_optional_find_package(Nepomuk)
# Nepomuk is not ready for being the default tag provider
# so better disable it
SET( Nepomuk_FOUND FALSE )
macro_bool_to_01(Nepomuk_FOUND HAVE_NEPOMUK)
configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h)


if (Nepomuk_FOUND)
    # Yes, Soprano includes is what we need here
    include_directories( ${SOPRANO_INCLUDE_DIR} ${NEPOMUK_INCLUDE_DIR} )
endif (Nepomuk_FOUND)

set(krss_LIB_SRCS
   item.cpp
   enclosure.cpp
   person.cpp
   category.cpp
   rssitem.cpp
   rssitemserializer.cpp
   tag.cpp
   feedpropertiescollectionattribute.cpp
   subscriptionlabelscollectionattribute.cpp
   tagidsattribute.cpp
   feedcollection.cpp
   resourcemanager.cpp
   resource.cpp
   feed.cpp
   persistentfeed.cpp
   netfeed.cpp
   feedlist.cpp
   abstractproxyfeed.cpp
   aggregatedfeed.cpp
   itemmodel.cpp
   treenode.cpp
   feedlistmodel.cpp
   importitemsjob.cpp
   importopmljob.cpp
   itemcollection.cpp
   itemlistjob.cpp
   itemjobs.cpp
   itemstatusmodifyjob.cpp
   netfeedcreatejob.cpp
   persistentfeedmodifyjob.cpp
   persistentfeeddeletejob.cpp
   standardactionmanager.cpp
   subscriptionsmodel.cpp
   tagjobs.cpp
   tagprovider.cpp
# ui stuff
   ui/itemview.cpp
   ui/feedlistview.cpp
   ui/netfeedcreatedialog.cpp
   ui/feedpropertiesdialog.cpp
   ui/tagpropertiesdialog.cpp
)


if(Nepomuk_FOUND)
set(krss_LIB_SRCS
   ${krss_LIB_SRCS}
   nepomuktagprovider/nepomuktagprovider.cpp
   nepomuktagprovider/nepomuktagjobimpls.cpp
)
else(Nepomuk_FOUND)
set(krss_LIB_SRCS
   ${krss_LIB_SRCS}
   defaulttagprovider/tagpropertiesattribute.cpp
   defaulttagprovider/defaulttagprovider.cpp
   defaulttagprovider/defaulttagjobimpls.cpp
)
endif(Nepomuk_FOUND)

set(krss_LIB_HDRS
   krss_export.h
   ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h
   item.h
   enclosure.h
   person.h
   category.h
   tag.h
   resourcemanager.h
   feed.h
   persistentfeed.h
   netfeed.h
   feedlist.h
   abstractproxyfeed.h
   aggregatedfeed.h
   itemmodel.h
   importitemsjob.h
   importopmljob.h
   feedlistmodel.h
   itemjobs.h
   itemstatusmodifyjob.h
   netfeedcreatejob.h
   persistentfeedmodifyjob.h
   persistentfeeddeletejob.h
   standardactionmanager.h
   subscriptionsmodel.h
   tagjobs.h
   tagprovider.h
# ui stuff
   ui/itemview.h
   ui/feedlistview.h
   ui/netfeedcreatedialog.h
   ui/feedpropertiesdialog.h
   ui/tagpropertiesdialog.h
)

set(krss_PRIVATE_LIB_HDRS
    rssitem.h
    rssitemserializer.h
)

qt4_add_dbus_interface(krss_LIB_SRCS ../resource/org.kde.krss.xml krssinterface)
kde4_add_ui_files(krss_LIB_SRCS ui/netfeedcreatedialog.ui ui/feedpropertiesdialog.ui ui/tagpropertieswidget.ui)

kde4_add_library(krss SHARED ${krss_LIB_SRCS})

target_link_libraries(krss ${KDE4_SYNDICATION_LIBS} ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_AKONADI_LIBS})

if (Nepomuk_FOUND)
    target_link_libraries(krss ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES})
endif (Nepomuk_FOUND)

set_target_properties(krss PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
install(TARGETS krss DESTINATION ${LIB_INSTALL_DIR})
install( FILES ${krss_LIB_HDRS} DESTINATION ${INCLUDE_INSTALL_DIR}/krss )
install( FILES ${krss_PRIVATE_LIB_HDRS} DESTINATION ${INCLUDE_INSTALL_DIR}/krss/private )
