You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
399 lines
13 KiB
399 lines
13 KiB
project(kmail) |
|
|
|
INCLUDE(CheckIncludeFiles) |
|
check_include_files(fcntl.h HAVE_FCNTL_H) |
|
check_include_files(byteswap.h HAVE_BYTESWAP_H) |
|
check_include_files(paths.h HAVE_PATHS_H) |
|
check_function_exists(mmap HAVE_MMAP) |
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules) |
|
|
|
check_include_files(sys/inotify.h SYS_INOTIFY_H_FOUND) |
|
macro_bool_to_01(SYS_INOTIFY_H_FOUND HAVE_SYS_INOTIFY_H) |
|
|
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn") |
|
if ( NOT KdeSubversion_FOUND ) |
|
find_package( KdeSubversion ) |
|
endif ( NOT KdeSubversion_FOUND ) |
|
if ( KdeSubversion_FOUND ) |
|
KdeSubversion_WC_INFO( ${PROJECT_SOURCE_DIR} KMail ) |
|
string( SUBSTRING "${KMail_WC_LAST_CHANGED_DATE}" 0 10 KMail_WC_LAST_CHANGED_DATE ) |
|
set( kmail_svn_revision "svn-${KMail_WC_REVISION}" ) |
|
set( kmail_svn_last_change "${KMail_WC_LAST_CHANGED_DATE}" ) |
|
endif ( KdeSubversion_FOUND ) |
|
endif (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn") |
|
configure_file(config-kmail.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kmail.h ) |
|
configure_file(version-kmail.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/version-kmail.h ) |
|
|
|
add_definitions ( -DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS ) |
|
add_definitions ( -DKDE_DEFAULT_DEBUG_AREA=5006 ) |
|
add_definitions ( -DStorageDebug=5120 ) |
|
|
|
qt4_generate_dbus_interface( kmkernel.h org.kde.kmail.kmail.xml OPTIONS -a ) |
|
qt4_generate_dbus_interface( kmcomposewin.h org.kde.kmail.mailcomposer.xml OPTIONS -a ) |
|
|
|
add_custom_target(kmail_xml ALL |
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kmail.kmail.xml ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kmail.mailcomposer.xml |
|
COMMENT "Helper target for XML stuff. The Kontact plugin, KOrganizer and others depend on it." ) |
|
|
|
add_subdirectory( interfaces ) |
|
add_subdirectory( about ) |
|
add_subdirectory( pics ) |
|
add_subdirectory( icons ) |
|
add_subdirectory( profiles ) |
|
add_subdirectory( avscripts ) |
|
add_subdirectory( tests ) |
|
add_subdirectory( kconf_update ) |
|
include_directories( |
|
${CMAKE_SOURCE_DIR}/libkdepim ${CMAKE_BINARY_DIR}/libkdepim |
|
${CMAKE_SOURCE_DIR}/libksieve |
|
${CMAKE_SOURCE_DIR}/mimelib |
|
${CMAKE_SOURCE_DIR}/libkleo |
|
${GPGME_INCLUDES} |
|
${Boost_INCLUDE_DIR} |
|
) |
|
if(Nepomuk_FOUND) |
|
include_directories( ${NEPOMUK_INCLUDES} ) |
|
endif(Nepomuk_FOUND) |
|
|
|
|
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" ) |
|
|
|
########### next target ############### |
|
set(kmailprivate_LIB_SRCS |
|
kmmessage.cpp |
|
kmmainwin.cpp |
|
configuredialog.cpp |
|
configuredialog_p.cpp |
|
simplestringlisteditor.cpp |
|
identitylistview.cpp |
|
identitydialog.cpp |
|
kmfolderdialog.cpp |
|
kmfoldercombobox.cpp |
|
folderview.cpp |
|
mainfolderview.cpp |
|
favoritefolderview.cpp |
|
kmaccount.cpp |
|
listjob.cpp |
|
kmcomposewin.cpp |
|
snippetdlg.cpp |
|
snippetwidget.cpp |
|
snippetitem.cpp |
|
kmfolder.cpp |
|
kmmsgpartdlg.cpp |
|
kmreaderwin.cpp |
|
htmlstatusbar.cpp |
|
kmmsgdict.cpp |
|
kmgroupware.cpp |
|
folderstorage.cpp |
|
csshelper.cpp |
|
actionscheduler.cpp |
|
messageproperty.cpp |
|
kmmsgpart.cpp |
|
kmmsginfo.cpp |
|
accountmanager.cpp |
|
kmacctfolder.cpp |
|
kmdict.cpp |
|
kmsystemtray.cpp |
|
kmacctlocal.cpp |
|
kmfolderdir.cpp |
|
kmfoldermgr.cpp |
|
kmfoldernode.cpp |
|
kmsender.cpp |
|
kmacctseldlg.cpp |
|
kmfiltermgr.cpp |
|
filterimporterexporter.cpp |
|
kmsearchpatternedit.cpp |
|
kmfilteraction.cpp |
|
kmsearchpattern.cpp |
|
folderselectiontreewidget.cpp |
|
folderselectiondialog.cpp |
|
kmfilter.cpp |
|
kmfilterdlg.cpp |
|
kmmsgbase.cpp |
|
kmmsglist.cpp |
|
kmaddrbook.cpp |
|
xfaceconfigurator.cpp |
|
networkaccount.cpp |
|
imapaccountbase.cpp |
|
kmacctimap.cpp |
|
kmacctcachedimap.cpp |
|
kmfawidgets.cpp |
|
kmfoldermbox.cpp |
|
kmfolderimap.cpp |
|
undostack.cpp |
|
kmfoldercachedimap.cpp |
|
kmfoldermaildir.cpp |
|
popaccount.cpp |
|
kmkernel.cpp |
|
accountdialog.cpp |
|
searchwindow.cpp |
|
vcardviewer.cpp |
|
vacationdialog.cpp |
|
vacation.cpp |
|
sievedebugdialog.cpp |
|
sieveconfig.cpp |
|
sievejob.cpp |
|
kmpopheaders.cpp |
|
kmpopfiltercnfrmdlg.cpp |
|
kmmimeparttree.cpp |
|
mailinglist-magic.cpp |
|
kmacctmaildir.cpp |
|
attachmentstrategy.cpp |
|
headerstrategy.cpp |
|
headerstyle.cpp |
|
khtmlparthtmlwriter.cpp |
|
filehtmlwriter.cpp |
|
teehtmlwriter.cpp |
|
objecttreeparser.cpp |
|
attachmentcollector.cpp |
|
bodypartformatter.cpp |
|
bodypartformatterfactory.cpp |
|
partNode.cpp |
|
mailsourceviewer.cpp |
|
kmcommands.cpp |
|
kmreadermainwin.cpp |
|
kmstartup.cpp |
|
kmmainwidget.cpp |
|
kmfolderindex.cpp |
|
kmfoldersearch.cpp |
|
folderjob.cpp |
|
cachedimapjob.cpp |
|
maildirjob.cpp |
|
mboxjob.cpp |
|
imapjob.cpp |
|
subscriptiondialog.cpp |
|
kmailicalifaceimpl.cpp |
|
aboutdata.cpp |
|
mailserviceimpl.cpp |
|
attachmentlistview.cpp |
|
kmcomposereditor.cpp |
|
kmlineeditspell.cpp |
|
kmatmlistview.cpp |
|
composer.cpp |
|
isubject.cpp |
|
bodyvisitor.cpp |
|
antispamwizard.cpp |
|
urlhandlermanager.cpp |
|
secondarywindow.cpp |
|
filterlog.cpp |
|
filterlogdlg.cpp |
|
messagecomposer.cpp |
|
keyresolver.cpp |
|
globalsettings.cpp |
|
regexplineedit.cpp |
|
rulewidgethandlermanager.cpp |
|
acljobs.cpp |
|
folderdialogacltab.cpp |
|
partnodebodypart.cpp |
|
expirejob.cpp |
|
compactionjob.cpp |
|
jobscheduler.cpp |
|
callback.cpp |
|
searchjob.cpp |
|
renamejob.cpp |
|
annotationjobs.cpp |
|
accountcombobox.cpp |
|
redirectdialog.cpp |
|
foldershortcutdialog.cpp |
|
folderrequester.cpp |
|
spamheaderanalyzer.cpp |
|
antispamconfig.cpp |
|
recipientseditor.cpp |
|
recipientspicker.cpp |
|
kwindowpositioner.cpp |
|
distributionlistdialog.cpp |
|
expirypropertiesdialog.cpp |
|
mailinglistpropertiesdialog.cpp |
|
newfolderdialog.cpp |
|
accountwizard.cpp |
|
textsource.cpp |
|
managesievescriptsdialog.cpp |
|
chiasmuskeyselector.cpp |
|
util.cpp |
|
kmmessagetag.cpp |
|
templateparser.cpp |
|
templatesconfiguration.cpp |
|
templatesinsertcommand.cpp |
|
customtemplates.cpp |
|
customtemplatesmenu.cpp |
|
quotajobs.cpp |
|
folderdialogquotatab.cpp |
|
folderdialogquotatab_p.cpp |
|
folderadaptor.cpp |
|
copyfolderjob.cpp |
|
messagecopyhelper.cpp |
|
korghelper.cpp |
|
localsubscriptiondialog.cpp |
|
editorwatcher.cpp |
|
scalix.cpp |
|
messageactions.cpp |
|
statusbarlabel.cpp |
|
groupware_types.cpp |
|
kleojobexecutor.cpp |
|
messagetree.cpp |
|
procmailparser.cpp |
|
commands/exporttohtml.cpp |
|
messagelistview/messageset.cpp |
|
messagelistview/pane.cpp |
|
messagelistview/storagemodel.cpp |
|
messagelistview/widget.cpp |
|
messagelistview/core/aggregation.cpp |
|
messagelistview/core/aggregationeditor.cpp |
|
messagelistview/core/comboboxutils.cpp |
|
messagelistview/core/configureaggregationsdialog.cpp |
|
messagelistview/core/configurethemesdialog.cpp |
|
messagelistview/core/delegate.cpp |
|
messagelistview/core/filter.cpp |
|
messagelistview/core/item.cpp |
|
messagelistview/core/groupheaderitem.cpp |
|
messagelistview/core/manager.cpp |
|
messagelistview/core/messageitem.cpp |
|
messagelistview/core/messageitemsetmanager.cpp |
|
messagelistview/core/model.cpp |
|
messagelistview/core/modelinvariantindex.cpp |
|
messagelistview/core/modelinvariantrowmapper.cpp |
|
messagelistview/core/optionset.cpp |
|
messagelistview/core/optionseteditor.cpp |
|
messagelistview/core/theme.cpp |
|
messagelistview/core/themedelegate.cpp |
|
messagelistview/core/themeeditor.cpp |
|
messagelistview/core/storagemodelbase.cpp |
|
messagelistview/core/view.cpp |
|
messagelistview/core/widgetbase.cpp |
|
) |
|
|
|
|
|
qt4_add_dbus_adaptor( kmailprivate_LIB_SRCS ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml kmkernel.h KMKernel ) |
|
qt4_add_dbus_adaptor( kmailprivate_LIB_SRCS ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.mailcomposer.xml kmcomposewin.h KMComposeWin ) |
|
qt4_add_dbus_adaptor( kmailprivate_LIB_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.kmail.groupware.xml kmailicalifaceimpl.h KMailICalIfaceImpl ) |
|
|
|
qt4_add_dbus_interfaces(kmailprivate_LIB_SRCS |
|
${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml |
|
${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.mailcomposer.xml |
|
${CMAKE_SOURCE_DIR}/korganizer/org.kde.Korganizer.Calendar.xml |
|
) |
|
|
|
qt4_add_dbus_adaptor( kmailprivate_LIB_SRCS ${CMAKE_SOURCE_DIR}/libkdepim/interfaces/org.kde.mailtransport.service.xml mailserviceimpl.h KMail::MailServiceImpl) |
|
|
|
|
|
|
|
kde4_add_ui_files(kmailprivate_LIB_SRCS composercryptoconfiguration.ui warningconfiguration.ui smimeconfiguration.ui templatesconfiguration_base.ui customtemplates_base.ui snippetdlgbase.ui imapsettings.ui localsettings.ui maildirsettings.ui popsettings.ui) |
|
|
|
kde4_add_kcfg_files(kmailprivate_LIB_SRCS globalsettings_base.kcfgc replyphrases.kcfgc custommimeheader.kcfgc templatesconfiguration_kfg.kcfgc customtemplates_kfg.kcfgc ) |
|
|
|
set(KMAIL_SQLITE_INDEX false CACHE BOOL "Use sqlite instead of mmap backend for KMail's folder indexes") |
|
mark_as_advanced(KMAIL_SQLITE_INDEX) |
|
if(WIN32) |
|
set(KMAIL_SQLITE_INDEX true CACHE BOOL "Use sqlite instead of mmap backend for KMail's folder indexes" FORCE) |
|
endif(WIN32) |
|
|
|
if(KMAIL_SQLITE_INDEX) |
|
find_package(Sqlite) |
|
macro_log_feature(SQLITE_FOUND "SQLite" "A C library that implements an SQL database engine" "http://www.sqlite.org" TRUE "version 3" "Required for KMail indexing [Windows ONLY].") |
|
if (NOT SQLITE_FOUND) |
|
macro_display_feature_log() |
|
endif(NOT SQLITE_FOUND) |
|
add_definitions(-DKMAIL_SQLITE_INDEX) # to alter declaration of KMFolderIndex |
|
include_directories(${SQLITE_INCLUDE_DIR}) |
|
endif(KMAIL_SQLITE_INDEX) |
|
|
|
kde4_add_library(kmailprivate SHARED ${kmailprivate_LIB_SRCS}) |
|
kdepim4_link_unique_libraries(kmailprivate ${KDE4_KHTML_LIBRARY} ${KDE4_THREADWEAVER_LIBRARY} |
|
${KDE4_KMIME_LIBRARY} ${KDE4_KPIMIDENTITIES_LIBRARY} |
|
${KDE4_PHONON_LIBRARY} ${KDE4_KNOTIFYCONFIG_LIBRARY} |
|
${KDE4_KTNEF_LIBRARY} ${KDE4_KUTILS_LIBS} |
|
${KDE4_MAILTRANSPORT_LIBRARY} ${KDE4_KIMAP_LIBRARY} |
|
${KDE4_KPARTS_LIBRARY} ${KDE4_KRESOURCES_LIBRARY} kleo |
|
${QGPGME_LIBRARIES} mimelib ksieve kpgp kdepim |
|
${QT_QT3SUPPORT_LIBRARY} ${KDE4_KIO_LIBS} |
|
${KDE4_KABC_LIBS} ${KDE4_KPIMUTILS_LIBS} ${KDE4_KDE3SUPPORT_LIBS}) |
|
|
|
if(KMAIL_SQLITE_INDEX) |
|
kdepim4_link_unique_libraries(kmailprivate ${SQLITE_LIBRARIES}) |
|
endif(KMAIL_SQLITE_INDEX) |
|
|
|
if(Nepomuk_FOUND) |
|
kdepim4_link_unique_libraries(kmailprivate ${NEPOMUK_LIBRARIES} ) |
|
endif(Nepomuk_FOUND) |
|
|
|
set_target_properties(kmailprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) |
|
install(TARGETS kmailprivate ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) |
|
|
|
|
|
########### next target ############### |
|
|
|
set(kcm_kmail_PART_SRCS kcm_kmail.cpp ) |
|
|
|
|
|
kde4_add_plugin(kcm_kmail ${kcm_kmail_PART_SRCS}) |
|
|
|
|
|
|
|
kdepim4_link_unique_libraries(kcm_kmail ${KDE4_KDECORE_LIBS} kmailprivate ) |
|
|
|
install(TARGETS kcm_kmail DESTINATION ${PLUGIN_INSTALL_DIR}) |
|
|
|
|
|
########### next target ############### |
|
|
|
set(kmailpart_PART_SRCS kmail_part.cpp ) |
|
|
|
qt4_generate_dbus_interface( kmail_part.h org.kde.kmail.kmailpart.xml OPTIONS -a ) |
|
qt4_add_dbus_adaptor( kmailpart_PART_SRCS ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml kmail_part.h KMailPart ) |
|
qt4_add_dbus_interfaces( kmailpart_PART_SRCS ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml ) |
|
|
|
kde4_add_plugin(kmailpart ${kmailpart_PART_SRCS}) |
|
|
|
kdepim4_link_unique_libraries(kmailpart ${KDE4_KDECORE_LIBS} kmailprivate ${KDE4_KDE3SUPPORT_LIBS} ${KDE4_KPARTS_LIBS} ${KDE4_KUTILS_LIBS} ) |
|
|
|
install(TARGETS kmailpart DESTINATION ${PLUGIN_INSTALL_DIR}) |
|
|
|
|
|
########### next target ############### |
|
|
|
set(kmail_bodypartformatter_application_octetstream_PART_SRCS app_octetstream.cpp ) |
|
|
|
|
|
kde4_add_plugin(kmail_bodypartformatter_application_octetstream ${kmail_bodypartformatter_application_octetstream_PART_SRCS}) |
|
|
|
|
|
|
|
kdepim4_link_unique_libraries(kmail_bodypartformatter_application_octetstream ${KDE4_KDECORE_LIBS} ) |
|
|
|
install(TARGETS kmail_bodypartformatter_application_octetstream DESTINATION ${PLUGIN_INSTALL_DIR}) |
|
|
|
|
|
########### next target ############### |
|
|
|
set(kmail_SRCS main.cpp ) |
|
|
|
kde4_add_app_icon(kmail_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi*-apps-kmail.png") |
|
|
|
kde4_add_executable(kmail ${kmail_SRCS}) |
|
|
|
kdepim4_link_unique_libraries(kmail ${KDE4_KDEUI_LIBS} ${KDE4_KDECORE_LIBS} kmailprivate kdepim) |
|
|
|
install(TARGETS kmail ${INSTALL_TARGETS_DEFAULT_ARGS} ) |
|
|
|
|
|
|
|
########### install files ############### |
|
|
|
install( FILES KMail.desktop kmail_view.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) |
|
install( FILES kmail.kcfg replyphrases.kcfg custommimeheader.kcfg customtemplates_kfg.kcfg templatesconfiguration_kfg.kcfg DESTINATION ${KCFG_INSTALL_DIR}) |
|
install( FILES kmail.antispamrc kmail.antivirusrc DESTINATION ${CONFIG_INSTALL_DIR}) |
|
install( FILES tips DESTINATION ${DATA_INSTALL_DIR}/kmail) |
|
install( FILES kmail_config_misc.desktop kmail_config_appearance.desktop kmail_config_identity.desktop kmail_config_accounts.desktop kmail_config_composer.desktop kmail_config_security.desktop DESTINATION ${SERVICES_INSTALL_DIR}) |
|
install( FILES kmcomposerui.rc kmmainwin.rc kmreadermainwin.rc kmail.notifyrc kmail_part.rc DESTINATION ${DATA_INSTALL_DIR}/kmail) |
|
install( FILES dbusmail.desktop dbusimap.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR}) |
|
install( FILES application_octetstream.desktop DESTINATION ${DATA_INSTALL_DIR}/kmail/plugins/bodypartformatter) |
|
|
|
# Install the D-Bus interface XML files |
|
install( FILES |
|
${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml |
|
${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml |
|
${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.mailcomposer.xml |
|
DESTINATION |
|
${KDE4_DBUS_INTERFACES_DIR} ) |
|
|
|
|