project(kalarm_compat)

include_directories( ${QT_INCLUDES} )

add_definitions(-DKDE_DEFAULT_DEBUG_AREA=5350)

################# configure checks and create the configured files #################

if(KDE_VERSION_MINOR LESS 3)
  # now create config headers

  include(CheckIncludeFiles)
  include(CheckTypeSize)
  include(CheckStructMember)

  # kdelibs configuration
  check_include_files(sys/time.h HAVE_SYS_TIME_H)
  check_type_size(time_t SIZEOF_TIME_T)
  check_struct_member(tm tm_zone time.h HAVE_STRUCT_TM_TM_ZONE)
  check_struct_member(tm tm_gmtoff time.h HAVE_TM_GMTOFF)
  configure_file(kde4.2/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )

  # libkholidays configuration
  check_include_files(err.h HAVE_ERR_H)
  check_include_files(sys/cdefs.h HAVE_SYS_CDEFS_H)
  configure_file(kde4.2/kholidays/config-kholidays.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kholidays.h)

  set(kalarm_compat_LIB_SRCS
     kde4.2/kdatetime.cpp
     kde4.2/ksystemtimezone.cpp
     kde4.2/kholidays/holidays.cpp 
     kde4.2/kholidays/scanholiday.c 
     kde4.2/kholidays/parseholiday.h 
     kde4.2/kholidays/parseholiday.c 
     libkdepim/kdateedit.cpp
     libkdepim/kdatepickerpopup.cpp
     libkdepim/kvcarddrag.cpp
     libkdepim/maillistdrag.cpp
     likeback/likeback.cpp
  )
  add_subdirectory(kde4.2/kholidays/holidays)

elseif(KDE_VERSION VERSION_LESS 4.3.80)
  # KDE 4.3
  set(kalarm_compat_LIB_SRCS
     libkdepim/kdateedit.cpp
     libkdepim/kdatepickerpopup.cpp
     libkdepim/kvcarddrag.cpp
     libkdepim/maillistdrag.cpp
     likeback/likeback.cpp
  )
else(KDE_VERSION_MINOR LESS 3)
  # KDE >= 4.4
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")

  set(kalarm_compat_LIB_SRCS
     libkdepim/kdateedit.cpp
     libkdepim/kdatepickerpopup.cpp
     libkdepim/kvcarddrag.cpp
     libkdepim/maillistdrag.cpp
     libkdepim/kdescendantsproxymodel.cpp
     libkdepim/contactstreemodel.cpp
     likeback/likeback.cpp
  )
endif(KDE_VERSION_MINOR LESS 3)

kde4_add_library(kalarm_compat SHARED ${kalarm_compat_LIB_SRCS})

if(KDE_VERSION VERSION_LESS 4.3.80)
target_link_libraries(kalarm_compat ${KDE4_KABC_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KDECORE_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTDBUS_LIBRARY})
else(KDE_VERSION VERSION_LESS 4.3.80)
target_link_libraries(kalarm_compat ${KDEPIMLIBS_AKONADI_LIBS} ${KDEPIMLIBS_AKONADI_CONTACT_LIBS} ${KDE4_KABC_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KDECORE_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTDBUS_LIBRARY})
endif(KDE_VERSION VERSION_LESS 4.3.80)

set_target_properties(kalarm_compat PROPERTIES 
                              VERSION ${GENERIC_LIB_VERSION} 
                              SOVERSION ${GENERIC_LIB_SOVERSION}
                     )

install(TARGETS kalarm_compat ${INSTALL_TARGETS_DEFAULT_ARGS})
