kde-playground/kdepim/kaddressbook/CMakeLists.txt
2015-09-23 11:27:31 +00:00

193 lines
5.5 KiB
CMake

project(kaddressbook)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/xxport/shared
${CMAKE_CURRENT_SOURCE_DIR}/printing/
${QT_QTDBUS_INCLUDE_DIR}
${Boost_INCLUDE_DIR}
${Grantlee_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/pimcommon/
${CMAKE_SOURCE_DIR}/libkdepim/
${CMAKE_SOURCE_DIR}/grantleetheme/
${CMAKE_SOURCE_DIR}/kaddressbookgrantlee/
${CMAKE_SOURCE_DIR}/libkleo
)
add_definitions( -DQT_NO_CAST_FROM_ASCII )
add_definitions( -DQT_NO_CAST_TO_ASCII )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
if(Prison_FOUND)
add_definitions(-DHAVE_PRISON)
include_directories(${PRISON_INCLUDE_DIR})
endif()
add_subdirectory(icons)
add_subdirectory(printing)
if(ENABLE_TESTING)
add_subdirectory(tests)
add_subdirectory(merge/tests)
add_subdirectory(sendmail/tests)
endif()
if(QGPGME_FOUND)
add_definitions(-DQGPGME_FOUND)
endif()
set(kaddressbook_sendmail_SRCS
sendmail/mailsenderjob.cpp
)
set(kaddressbook_printing_SRCS
printing/detailled/detailledstyle.cpp
printing/mike/mikesstyle.cpp
printing/printingwizard.cpp
printing/printprogress.cpp
printing/printstyle.cpp
printing/ringbinder/ringbinderstyle.cpp
printing/compact/compactstyle.cpp
printing/grantlee/grantleeprintstyle.cpp
printing/grantlee/contactgrantleeprintobject.cpp
printing/grantlee/contactgrantleeprintaddressobject.cpp
printing/grantlee/contactgrantleeprintphoneobject.cpp
printing/grantlee/contactgrantleeprintimobject.cpp
printing/grantlee/contactgrantleeprintgeoobject.cpp
printing/grantlee/contactgrantleeprintcryptoobject.cpp
printing/stylepage.cpp
)
set(kaddressbook_xxport_SRCS
xxport/csv/csv_xxport.cpp
xxport/csv/csvimportdialog.cpp
xxport/csv/dateparser.cpp
xxport/csv/qcsvmodel.cpp
xxport/csv/qcsvreader.cpp
xxport/csv/templateselectiondialog.cpp
xxport/ldif/ldif_xxport.cpp
xxport/ldap/ldap_xxport.cpp
xxport/gmx/gmx_xxport.cpp
xxport/shared/xxport.cpp
xxport/vcard/vcard_xxport.cpp
xxport/xxportfactory.cpp
)
set(kaddressbook_merge_SRCS
merge/mergecontactsdialog.cpp
merge/searchpotentialduplicatecontactjob.cpp
merge/mergecontactwidget.cpp
merge/mergecontactutil.cpp
merge/mergecontactsjob.cpp
merge/mergecontactinfowidget.cpp
merge/mergecontactwidgetlist.cpp
merge/mergecontactshowresultdialog.cpp
merge/mergecontactselectinformationdialog.cpp
merge/mergecontactshowresulttabwidget.cpp
merge/mergecontacts.cpp
merge/mergecontactduplicatecontactdialog.cpp
)
set(kaddressbook_LIB_SRCS
startup.cpp
aboutdata.cpp
categoryfilterproxymodel.cpp
categoryselectwidget.cpp
contactfields.cpp
contactselectiondialog.cpp
contactselectionwidget.cpp
contactsorter.cpp
contactswitcher.cpp
globalcontactmodel.cpp
mainwidget.cpp
modelcolumnmanager.cpp
quicksearchwidget.cpp
xxportmanager.cpp
utils.cpp
${kaddressbook_merge_SRCS}
${kaddressbook_printing_SRCS}
${kaddressbook_xxport_SRCS}
${kaddressbook_sendmail_SRCS}
)
qt4_add_dbus_adaptor( kaddressbook_LIB_SRCS org.kde.kaddressbook.xml mainwidget.h MainWidget)
kde4_add_kcfg_files(kaddressbook_LIB_SRCS settings/settings.kcfgc)
add_library(kaddressbookprivate ${LIBRARY_TYPE} ${kaddressbook_LIB_SRCS})
target_link_libraries(kaddressbookprivate
kdepim
pimcommon
kaddressbookgrantlee
${KDE4_KDEUI_LIBS}
${KDEPIMLIBS_AKONADI_LIBS}
${KDEPIMLIBS_KABC_LIBS}
${KDEPIMLIBS_AKONADI_CONTACT_LIBS}
${KDEPIMLIBS_KLDAP_LIBS}
${KDE4_KCMUTILS_LIBS}
${KDE4_KPRINTUTILS_LIBS}
${Grantlee_CORE_LIBRARIES}
grantleetheme
kleo
)
if(QGPGME_FOUND)
target_link_libraries(kaddressbookprivate ${QGPGME_LIBRARIES})
endif()
if(PRISON_FOUND)
target_link_libraries(kaddressbookprivate ${PRISON_LIBRARIES})
endif()
set_target_properties(kaddressbookprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
install(TARGETS kaddressbookprivate ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
########### next target ###############
set(kaddressbook_SRCS
main.cpp
mainwindow.cpp
)
add_executable(kaddressbook ${kaddressbook_SRCS})
target_link_libraries(kaddressbook
${KDEPIMLIBS_AKONADI_LIBS}
${KDEPIMLIBS_SYNDICATION_LIBS}
${KDE4_KDEUI_LIBS}
${KDE4_KCMUTILS_LIBS}
${KDE4_KIO_LIBS}
${KDE4_PHONON_LIBS}
${KDEPIMLIBS_KONTACTINTERFACE_LIBS}
kaddressbookprivate
grantleetheme
)
if(QGPGME_FOUND)
target_link_libraries(kaddressbook ${QGPGME_LIBRARIES})
endif()
install(TARGETS kaddressbook ${INSTALL_TARGETS_DEFAULT_ARGS})
install(PROGRAMS data/kaddressbook.desktop data/kaddressbook-importer.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES kaddressbookui.rc DESTINATION ${DATA_INSTALL_DIR}/kaddressbook)
set(kaddressbook_PART_SRCS kaddressbookpart.cpp)
kde4_add_plugin(kaddressbookpart ${kaddressbook_PART_SRCS})
target_link_libraries(kaddressbookpart ${KDE4_KPARTS_LIBS} kaddressbookprivate)
install(TARGETS kaddressbookpart DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES data/kaddressbookpart.desktop DESTINATION ${SERVICES_INSTALL_DIR})
install(FILES
viewertemplates/contact.html
viewertemplates/contact_embedded.html
viewertemplates/contact_row.html
viewertemplates/contactgroup.html
viewertemplates/contactgroup_embedded.html
viewertemplates/contactgroup_additionalfieldrow.html
viewertemplates/contactgroup_memberrow.html
viewertemplates/theme.desktop
DESTINATION ${DATA_INSTALL_DIR}/kaddressbook/viewertemplates/default/
)
install(FILES data/kaddressbook_themes.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
install(DIRECTORY printing/grantlee/themes/ DESTINATION ${DATA_INSTALL_DIR}/kaddressbook/printing/themes/ )