
project(kabc)

include_directories( ${KDE4_KIO_INCLUDES} )

add_definitions(${QDBUS_DEFINITIONS})

# these apply also for all subdirs
include_directories(
 ${CMAKE_CURRENT_SOURCE_DIR}
 ${CMAKE_CURRENT_BINARY_DIR}
 ${CMAKE_CURRENT_SOURCE_DIR}/kab
 ${CMAKE_CURRENT_BINARY_DIR}/kab
 ${CMAKE_CURRENT_SOURCE_DIR}/vcardparser
)

# kabc/vcardparser/Makefile.am: vcards

set(vcards_STAT_SRCS
  vcardparser/vcard.cpp
  vcardparser/vcardline.cpp
  vcardparser/vcardparser.cpp
)

add_subdirectory( kab )
add_subdirectory( vcardparser )
add_subdirectory( formats )
add_subdirectory( plugins )
add_subdirectory( tests )
add_subdirectory( scripts )



add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/field.cpp ${CMAKE_CURRENT_BINARY_DIR}/addressee.h ${CMAKE_CURRENT_BINARY_DIR}/addressee.cpp
   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/scripts
   COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/makeaddressee
   DEPENDS  
   scripts/makeaddressee
   scripts/addressee.src.cpp
   scripts/addressee.src.h
   scripts/entrylist
   scripts/field.src.cpp
   )


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

set(kabc_LIB_SRCS
   address.cpp
   addressbook.cpp
   ${CMAKE_CURRENT_BINARY_DIR}/addressee.cpp
   ${CMAKE_CURRENT_BINARY_DIR}/addressee.h
   ${CMAKE_CURRENT_BINARY_DIR}/field.cpp
   addresseedialog.cpp
   distributionlist.cpp
   distributionlistdialog.cpp
   distributionlisteditor.cpp
   errorhandler.cpp
   formatfactory.cpp
   geo.cpp
   key.cpp
   phonenumber.cpp
   picture.cpp
   plugin.cpp
   resource.cpp
   secrecy.cpp
   sound.cpp
   stdaddressbook.cpp
   vcardconverter.cpp
   timezone.cpp
   vcardformat.cpp
   ldifconverter.cpp
   addresslineedit.cpp
   addresseelist.cpp
   vcardtool.cpp
   addresseehelper.cpp
   lock.cpp
   locknull.cpp
   ldif.cpp
   ldapurl.cpp
   ldapconfigwidget.cpp
   sortmode.cpp
   ${vcards_STAT_SRCS}
)

kde4_automoc(${kabc_LIB_SRCS})

kde4_add_library(kabc SHARED ${kabc_LIB_SRCS})

target_link_libraries(kabc  ${KDE4_KDEIO} kresources )

set_target_properties(kabc PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
install(TARGETS kabc  DESTINATION ${LIB_INSTALL_DIR} )

########### install files ###############

install( FILES kab2kabc.desktop DESTINATION ${DATA_INSTALL_DIR}/autostart )
install( FILES countrytransl.map  DESTINATION  ${DATA_INSTALL_DIR}/kabc )
install( FILES kabc_manager.desktop  DESTINATION  ${SERVICES_INSTALL_DIR}/kresources )
install( FILES kabc.h address.h addressbook.h ${CMAKE_CURRENT_BINARY_DIR}/addressee.h addresseedialog.h    distributionlist.h distributionlistdialog.h distributionlisteditor.h    errorhandler.h field.h format.h formatfactory.h format.h geo.h key.h    phonenumber.h picture.h plugin.h resource.h    secrecy.h sound.h stdaddressbook.h timezone.h    vcardformat.h vcardconverter.h ldifconverter.h    addresslineedit.h addresseelist.h lock.h locknull.h ldif.h    ldapurl.h ldapconfigwidget.h sortmode.h DESTINATION ${INCLUDE_INSTALL_DIR}/kabc)




#original Makefile.am contents follow:

#SUBDIRS = kab vcardparser . formats plugins scripts tests
#
## Make sure $(all_includes) remains last!
#INCLUDES = -I$(top_builddir)/kabc -I$(top_srcdir)/kabc -I$(top_srcdir)/kabc/kab \
#           -I$(srcdir)/vcardparser $(all_includes)
#
#field.cpp: addressee.h addressee.cpp
#addressee.cpp: addressee.h
#addressee.cpp addressee.h field.cpp: \
#				$(srcdir)/scripts/makeaddressee \
#				$(srcdir)/scripts/addressee.src.cpp \
#				$(srcdir)/scripts/addressee.src.h \
#				$(srcdir)/scripts/entrylist \
#				$(srcdir)/scripts/field.src.cpp
#	mysrcdir=`cd $(srcdir)/scripts && pwd` ;\
#	cd scripts && $(PERL) $$mysrcdir/makeaddressee
#
#CLEANFILES = addressee.h addressee.cpp field.cpp
#
#lib_LTLIBRARIES = libkabc.la
#libkabc_la_LDFLAGS = $(KDE_RPATH) $(all_libraries) -version-info 3:0:2 -no-undefined
#libkabc_la_LIBADD = vcardparser/libvcards.la $(LIB_KIO) \
#                    $(top_builddir)/kresources/libkresources.la
#libkabc_la_COMPILE_FIRST = addressee.h
#
#libkabc_la_SOURCES = \
#  address.cpp addressbook.cpp addressee.cpp addresseedialog.cpp \
#  distributionlist.cpp distributionlistdialog.cpp distributionlisteditor.cpp \
#  errorhandler.cpp field.cpp formatfactory.cpp geo.cpp key.cpp \
#  phonenumber.cpp picture.cpp plugin.cpp resource.cpp \
#  secrecy.cpp sound.cpp stdaddressbook.cpp \
#  vcardconverter.cpp timezone.cpp \
#  vcardformat.cpp ldifconverter.cpp addresslineedit.cpp \
#  addresseelist.cpp vcardtool.cpp addresseehelper.cpp \
#  addresseehelper.skel lock.cpp locknull.cpp ldif.cpp ldapurl.cpp ldapconfigwidget.cpp \
#  sortmode.cpp
#
#
#kabcincludedir = $(includedir)/kabc
#kabcinclude_HEADERS = address.h addressbook.h addressee.h addresseedialog.h \
#  distributionlist.h distributionlistdialog.h distributionlisteditor.h \
#  errorhandler.h field.h format.h formatfactory.h format.h geo.h key.h \
#  phonenumber.h picture.h plugin.h resource.h \
#  secrecy.h sound.h stdaddressbook.h timezone.h \
#  vcardformat.h vcardconverter.h ldifconverter.h \
#  addresslineedit.h addresseelist.h lock.h locknull.h ldif.h \
#  ldapurl.h ldapconfigwidget.h sortmode.h
#
#METASOURCES = AUTO
#
#bin_PROGRAMS = kab2kabc
#
#kab2kabc_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#kab2kabc_LDADD = libkabc.la ./kab/libkab.la
#kab2kabc_SOURCES = kab2kabc.cpp
#
#autostart_DATA = kab2kabc.desktop
#autostartdir = $(datadir)/autostart
#
#manager_DATA = kabc_manager.desktop
#managerdir = $(kde_servicesdir)/kresources
#
#DOXYGEN_REFERENCES = kdecore kdeui
#DOXYGEN_EXCLUDE = scripts
#
#map_DATA = countrytransl.map
#mapdir = $(kde_datadir)/kabc
#
#EXTRA_DIST = $(map_DATA)
#
#include ../admin/Doxyfile.am
