set(kaffeine_SRCS
    backend-vlc/vlcmediawidget.cpp
    playlist/playlistmodel.cpp
    playlist/playlisttab.cpp
    abstractmediawidget.cpp
    configuration.cpp
    configurationdialog.cpp
    datetimeedit.cpp
    dbusobjects.cpp
    ensurenopendingoperation.cpp
    main.cpp
    mainwindow.cpp
    mediawidget.cpp
    osdwidget.cpp
    sqlhelper.cpp
    sqlinterface.cpp)

if(HAVE_DVB)
  set(kaffeinedvb_SRCS
      dvb/dvbcam_linux.cpp
      dvb/dvbchannel.cpp
      dvb/dvbchanneldialog.cpp
      dvb/dvbconfigdialog.cpp
      dvb/dvbdevice.cpp
      dvb/dvbdevice_linux.cpp
      dvb/dvbepg.cpp
      dvb/dvbepgdialog.cpp
      dvb/dvbliveview.cpp
      dvb/dvbmanager.cpp
      dvb/dvbrecording.cpp
      dvb/dvbrecordingdialog.cpp
      dvb/dvbscan.cpp
      dvb/dvbscandialog.cpp
      dvb/dvbsi.cpp
      dvb/dvbtab.cpp
      dvb/dvbtransponder.cpp)
endif(HAVE_DVB)

configure_file(config-kaffeine.h.cmake ${CMAKE_BINARY_DIR}/config-kaffeine.h)

if( Qt5Core_DIR )
    add_executable(kaffeine ${kaffeinedvb_SRCS} ${kaffeine_SRCS})
    target_link_libraries(kaffeine Qt5::Sql Qt5::X11Extras KF5::KIOWidgets KF5::XmlGui KF5::I18n KF5::Solid
			  KF5::KIOCore KF5::KIOFileWidgets KF5::Notifications KF5::IdleTime
			  KF5::DBusAddons
			  ${X11_Xscreensaver_LIB} ${VLC_LIBRARY} ${LIBDVBV5_LIBRARY} ${KDE4Attic_LIBRARIES})
else()
    kde4_add_executable(kaffeine ${kaffeinedvb_SRCS} ${kaffeine_SRCS})
    target_link_libraries(kaffeine ${QT_QTSQL_LIBRARY} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS}
                          ${KDE4_SOLID_LIBS} ${X11_Xscreensaver_LIB} ${VLC_LIBRARY} ${LIBDVBV5_LIBRARY})
endif()

install(TARGETS kaffeine ${INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES scanfile.dvb DESTINATION ${DATA_INSTALL_DIR}/kaffeine)
install(PROGRAMS kaffeine.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES kaffeine.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata/)
