CMakeLists.txt 20.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12


add_definitions( -DQT_NO_CAST_FROM_ASCII )
add_definitions( -DQT_NO_CAST_TO_ASCII )


add_definitions(-DTRANSLATION_DOMAIN=\"libmessageviewer\")

# KCFG files:
# The main messageviewer.kcfg is configured by CMake and put in the build directory.

if(KDEPIM_ENTERPRISE_BUILD)
Laurent Montel's avatar
Laurent Montel committed
13 14 15 16
    set(LEGACY_MANGLE_FROM_TO_HEADERS true)
    set(LEGACY_BODY_INVITES true)
    set(EXCHANGE_COMPATIBLE_INVITATIONS true)
    set(OUTLOOK_COMPATIBLE_INVITATION_REPLY_COMMENTS true)
17
else()
Laurent Montel's avatar
Laurent Montel committed
18 19 20 21
    set(LEGACY_MANGLE_FROM_TO_HEADERS false)
    set(LEGACY_BODY_INVITES false)
    set(EXCHANGE_COMPATIBLE_INVITATIONS false)
    set(OUTLOOK_COMPATIBLE_INVITATION_REPLY_COMMENTS false)
22 23 24 25 26 27 28 29 30 31 32 33
endif()

configure_file(settings/messageviewer.kcfg.cmake ${CMAKE_CURRENT_BINARY_DIR}/messageviewer.kcfg)
include(CheckIncludeFiles)
check_include_files(sys/inotify.h SYS_INOTIFY_H_FOUND)
macro_bool_to_01(SYS_INOTIFY_H_FOUND HAVE_SYS_INOTIFY_H)
configure_file(config-messageviewer.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-messageviewer.h)

# target_include_directories does not handle empty include paths
include_directories(${GPGME_INCLUDES})

if(BUILD_TESTING)
Laurent Montel's avatar
Laurent Montel committed
34 35 36 37
    add_subdirectory(scamdetection/autotests)
    add_subdirectory(findbar/autotests)
    add_subdirectory(scamdetection/tests)
    add_subdirectory(adblock/tests/)
Laurent Montel's avatar
Laurent Montel committed
38
    add_subdirectory(adblock/common/autotests)
Laurent Montel's avatar
Laurent Montel committed
39
    add_subdirectory(viewerplugins/tests/)
Laurent Montel's avatar
Laurent Montel committed
40 41
    if (QTWEBENGINE_EXPERIMENTAL_OPTION)
        add_subdirectory(webengine/tests)
Laurent Montel's avatar
Laurent Montel committed
42
        add_subdirectory(viewer/webengine/autotests)
Laurent Montel's avatar
Laurent Montel committed
43 44
    endif()

45 46 47 48 49 50
endif()
add_subdirectory(pics)
add_subdirectory(kconf_update)
add_subdirectory(about)

if(DEBUG_SIGNATURE)
Laurent Montel's avatar
Laurent Montel committed
51
    add_definitions(-DDEBUG_SIGNATURE)
52 53
endif()

Laurent Montel's avatar
Laurent Montel committed
54
set(_mailwebview_cpp 
Laurent Montel's avatar
Laurent Montel committed
55 56 57 58 59 60
    adblock/adblockelementhiding.cpp
    adblock/adblockmanager.cpp
    adblock/adblockrulefallbackimpl.cpp
    adblock/adblockblockableitemsdialog.cpp
    adblock/adblockblockableitemswidget.cpp

Laurent Montel's avatar
Laurent Montel committed
61 62 63 64 65
    adblock/common/matcher/adblockrule.cpp
    adblock/common/matcher/adblockruletextmatchimpl.cpp
    adblock/common/matcher/adblockrulenullimpl.cpp
    adblock/common/matcher/adblockhostmatcher.cpp

Laurent Montel's avatar
Laurent Montel committed
66 67 68 69 70 71 72
    adblock/common/adblocksettingwidget.cpp
    adblock/common/adblockutil.cpp
    adblock/common/adblockcreatefilterdialog.cpp
    adblock/common/adblockaddsubscriptiondialog.cpp
    adblock/common/adblocklistwidget.cpp
    adblock/common/adblocksyntaxhighlighter.cpp
    adblock/common/adblockshowlistdialog.cpp
73
    adblock/common/adblockautomaticruleslistwidget.cpp
Laurent Montel's avatar
Laurent Montel committed
74
    )
75

76

Laurent Montel's avatar
Laurent Montel committed
77
# For the moment we can't replace mailwebengine
Laurent Montel's avatar
Laurent Montel committed
78
set(libmessageviewer_mailviewer_SRCS
Laurent Montel's avatar
Laurent Montel committed
79 80 81 82
    viewer/webview/mailwebview.cpp
    viewer/webview/webpage.cpp
    viewer/webview/networkaccessmanager.cpp
    )
83 84
set(libmessageviewer_web_LIB KF5::WebKit Qt5::WebKitWidgets)

Laurent Montel's avatar
Laurent Montel committed
85

86
if (QTWEBENGINE_EXPERIMENTAL_OPTION)
Laurent Montel's avatar
Laurent Montel committed
87 88 89
    set(libmessageviewer_mailviewer_SRCS
        viewer/webengine/mailwebengineview.cpp
        viewer/webengine/mailwebenginepage.cpp
Laurent Montel's avatar
Laurent Montel committed
90
        viewer/webengine/mailwebengineaccesskey.cpp
91
        viewer/webengine/mailwebengineaccesskeyanchor.cpp
Laurent Montel's avatar
Laurent Montel committed
92
        viewer/webengine/mailwebengineaccesskeyutils.cpp
Laurent Montel's avatar
Laurent Montel committed
93 94 95
        ${libmessageviewer_mailviewer_SRCS}
        findbar/findbarwebengineview.cpp
        )
Laurent Montel's avatar
Laurent Montel committed
96 97

    set(libmessageviewer_webengine_SRCS
Laurent Montel's avatar
Laurent Montel committed
98 99 100 101 102 103
        webengine/networkmanager/networkaccessmanagerwebengine.cpp
        webengine/urlinterceptor/networkurlinterceptor.cpp
        webengine/urlinterceptor/networkpluginurlinterceptorinterface.cpp
        webengine/urlinterceptor/networkurlinterceptorpluginmanager.cpp
        webengine/urlinterceptor/networkpluginurlinterceptor.cpp
        webengine/urlinterceptor/networkurlinterceptormanager.cpp
104
        webengine/urlinterceptor/networkpluginurlinterceptorconfigurewidget.cpp
Laurent Montel's avatar
Laurent Montel committed
105
        webengine/webhittestresult.cpp
Laurent Montel's avatar
Laurent Montel committed
106
        webengine/webhittest.cpp
Laurent Montel's avatar
Laurent Montel committed
107
        webengine/webenginepage.cpp
108
        webengine/webenginescript.cpp
Laurent Montel's avatar
Laurent Montel committed
109
        webengine/webengineview.cpp
Laurent Montel's avatar
Laurent Montel committed
110
        )
Laurent Montel's avatar
Laurent Montel committed
111
    set(libmessageviewer_web_LIB Qt5::WebEngine Qt5::WebEngineWidgets ${libmessageviewer_web_LIB})
Laurent Montel's avatar
Laurent Montel committed
112
endif()
Laurent Montel's avatar
Laurent Montel committed
113

114
set(libmessageviewer_otp_SRCS
Laurent Montel's avatar
Laurent Montel committed
115 116
    interfaces/bodypartformatter.cpp
    viewer/bodypartformatter.cpp
117
    viewer/bodypartformatterbasefactory.cpp
Laurent Montel's avatar
Laurent Montel committed
118 119 120 121 122 123 124 125 126 127
    viewer/cryptohelper.cpp
    viewer/nodehelper.cpp
    viewer/objecttreeparser.cpp
    viewer/messagepart.cpp
    viewer/partnodebodypart.cpp
    viewer/memento/cryptobodypartmemento.cpp
    viewer/memento/decryptverifybodypartmemento.cpp
    viewer/memento/verifydetachedbodypartmemento.cpp
    viewer/memento/verifyopaquebodypartmemento.cpp
    )
128 129

set(libmessageviewer_otp_extra_SRCS
Laurent Montel's avatar
Laurent Montel committed
130 131 132 133 134 135 136 137 138 139 140
    job/kleojobexecutor.cpp
    #for quotes
    viewer/csshelperbase.cpp
    viewer/attachmentstrategy.cpp
    utils/iconnamecache.cpp
    utils/mimetype.cpp
    viewer/converthtmltoplaintext.cpp
    #HTML Writer
    htmlwriter/filehtmlwriter.cpp
    htmlwriter/queuehtmlwriter.cpp
    )
141

142
set(libmessageviewer_viewer_SRCS
Laurent Montel's avatar
Laurent Montel committed
143 144
    viewer/attachmentstrategy.cpp
    viewer/bodypartformatter.cpp
145
    viewer/bodypartformatterbasefactory.cpp
Laurent Montel's avatar
Laurent Montel committed
146
    viewer/bodypartformatterfactory.cpp
147
    viewer/bodypartformatterfactorysingleton.cpp
Laurent Montel's avatar
Laurent Montel committed
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
    viewer/cryptohelper.cpp
    viewer/csshelper.cpp
    viewer/csshelperbase.cpp
    viewer/editorwatcher.cpp
    viewer/mimeparttree/mimetreemodel.cpp
    viewer/nodehelper.cpp
    viewer/objecttreeemptysource.cpp
    viewer/objecttreeparser.cpp
    viewer/objecttreeviewersource.cpp
    viewer/messagepart.cpp
    viewer/partnodebodypart.cpp
    viewer/pluginloaderbase.cpp
    viewer/viewer.cpp
    viewer/viewer_p.cpp
    viewer//webview/webviewaccesskey.cpp
    viewer/messagedisplayformatattribute.cpp
    viewer/urlhandlermanager.cpp
    viewer/mimeparttree/mimeparttreeview.cpp
    viewer/converthtmltoplaintext.cpp
    viewer/memento/cryptobodypartmemento.cpp
    viewer/memento/decryptverifybodypartmemento.cpp
    viewer/memento/verifydetachedbodypartmemento.cpp
    viewer/memento/verifyopaquebodypartmemento.cpp
    )
172 173

set(libmessageviewer_widgets_SRCS
Laurent Montel's avatar
Laurent Montel committed
174 175 176 177 178 179 180 181 182 183 184
    widgets/attachmentdialog.cpp
    widgets/configurewidget.cpp
    widgets/printingsettings.cpp
    widgets/htmlstatusbar.cpp
    widgets/vcardviewer.cpp
    widgets/invitationsettings.cpp
    widgets/openattachmentfolderwidget.cpp
    widgets/mailsourceviewer.cpp
    widgets/mailsourceviewtextbrowserwidget.cpp
    widgets/zoomactionmenu.cpp
    )
185

186 187 188 189 190 191
if (QTWEBENGINE_EXPERIMENTAL_OPTION)
    set(libmessageviewer_widgets_webengine_SRCS
       widgets/mailsourcewebengineviewer.cpp
    )
endif()

192
set(libmessageviewer_header_SRCS
Laurent Montel's avatar
Laurent Montel committed
193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
    header/contactdisplaymessagememento.cpp
    header/headerstrategy.cpp
    header/richheaderstrategy.cpp
    header/headerstyle.cpp
    header/grantleeheaderstyle.cpp
    header/plainheaderstyle.cpp
    header/headerstyle_util.cpp
    header/grantleeheaderformatter.cpp
    header/grantleeheaderteststyle.cpp
    header/kxface.cpp
    header/headerstyleplugin.cpp
    header/headerstylepluginmanager.cpp
    header/headerstyleinterface.cpp
    header/headerstylemenumanager.cpp
    )
208 209

set(libmessageviewer_scamdetection_SRCS
Laurent Montel's avatar
Laurent Montel committed
210 211 212 213 214
    scamdetection/scamdetectionwarningwidget.cpp
    scamdetection/scamdetection.cpp
    scamdetection/scamdetectiondetailsdialog.cpp
    scamdetection/scamattribute.cpp
    scamdetection/scamcheckshorturl.cpp
215
    scamdetection/scamexpandurljob.cpp
Laurent Montel's avatar
Laurent Montel committed
216
    scamdetection/scamcheckshorturlmanager.cpp
Laurent Montel's avatar
Laurent Montel committed
217
    )
218

219 220 221 222 223 224
if (QTWEBENGINE_EXPERIMENTAL_OPTION)
   set(libmessageviewer_scamdetection_webengine_SRCS
       scamdetection/scamdetectionwebengine.cpp
   )
endif()

225
set(libmessageviewer_findbar_SRCS
Laurent Montel's avatar
Laurent Montel committed
226 227 228 229
    findbar/findbarbase.cpp
    findbar/findbarwebview.cpp
    findbar/findbarsourceview.cpp
    )
230 231

set(libmessageviewer_utils_SRCS
Laurent Montel's avatar
Laurent Montel committed
232 233 234 235 236
    utils/iconnamecache.cpp
    utils/markmessagereadhandler.cpp
    utils/messageviewerutil.cpp
    utils/mimetype.cpp
    )
237

238 239 240 241 242 243 244
if (QTWEBENGINE_EXPERIMENTAL_OPTION)
    set(libmessageviewer_htmlwriter_webengine_SRCS
        htmlwriter/webengineparthtmlwriter.cpp
    )
endif()


245
set(libmessageviewer_htmlwriter_SRCS
Laurent Montel's avatar
Laurent Montel committed
246 247 248 249
    htmlwriter/filehtmlwriter.cpp
    htmlwriter/queuehtmlwriter.cpp
    htmlwriter/teehtmlwriter.cpp
    htmlwriter/webkitparthtmlwriter.cpp
250
    ${libmessageviewer_htmlwriter_webengine_SRCS}
Laurent Montel's avatar
Laurent Montel committed
251
    )
252 253

set(libmessageviewer_antispam_SRCS
Laurent Montel's avatar
Laurent Montel committed
254 255 256
    antispam/spamheaderanalyzer.cpp
    antispam/antispamconfig.cpp
    )
257 258

set(libmessageviewer_job_SRCS
Laurent Montel's avatar
Laurent Montel committed
259 260 261 262 263 264 265
    job/createtodojob.cpp
    job/createeventjob.cpp
    job/createnotejob.cpp
    job/attachmenteditjob.cpp
    job/modifymessagedisplayformatjob.cpp
    job/kleojobexecutor.cpp
    )
266 267

set(libmessageviewer_viewerplugins_SRCS
Laurent Montel's avatar
Laurent Montel committed
268 269 270 271 272
    viewerplugins/viewerpluginmanager.cpp
    viewerplugins/viewerplugin.cpp
    viewerplugins/viewerplugininterface.cpp
    viewerplugins/viewerplugintoolmanager.cpp
    )
273 274

set(libmessageviewer_SRCS
275
    ${libmessageviewer_scamdetection_webengine_SRCS}
276
    ${libmessageviewer_widgets_webengine_SRCS}
Laurent Montel's avatar
Laurent Montel committed
277
    ${libmessageviewer_webengine_SRCS}
Laurent Montel's avatar
Laurent Montel committed
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292
    ${libmessageviewer_viewer_SRCS}
    ${libmessageviewer_widgets_SRCS}
    ${libmessageviewer_header_SRCS}
    ${libmessageviewer_scamdetection_SRCS}
    ${libmessageviewer_findbar_SRCS}
    ${libmessageviewer_utils_SRCS}
    ${libmessageviewer_htmlwriter_SRCS}
    ${libmessageviewer_antispam_SRCS}
    ${libmessageviewer_job_SRCS}
    ${libmessageviewer_viewerplugins_SRCS}
    settings/messageviewersettings.cpp
    interfaces/bodypartformatter.cpp
    ${_mailwebview_cpp}
    ${libmessageviewer_mailviewer_SRCS}
    )
293 294 295 296

ecm_qt_declare_logging_category(libmessageviewer_SRCS HEADER messageviewer_debug.h IDENTIFIER MESSAGEVIEWER_LOG CATEGORY_NAME log_messageviewer)

kconfig_add_kcfg_files(libmessageviewer_SRCS
Laurent Montel's avatar
Laurent Montel committed
297 298
    settings/globalsettings_messageviewer.kcfgc
    )
299 300

ki18n_wrap_ui(libmessageviewer_SRCS
Laurent Montel's avatar
Laurent Montel committed
301 302 303 304 305 306
    ui/settings.ui
    ui/invitationsettings.ui
    ui/printingsettings.ui
    adblock/ui/settings_adblock.ui
    adblock/ui/adblockcreatefilterwidget.ui
    )
307 308 309 310 311 312 313 314 315 316


add_library(KF5MessageViewer ${libmessageviewer_SRCS})
generate_export_header(KF5MessageViewer BASE_NAME messageviewer)
add_library(KF5::MessageViewer ALIAS KF5MessageViewer)

target_include_directories(KF5MessageViewer INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/MessageViewer/;${KDE_INSTALL_INCLUDEDIR_KF5}/messageviewer>")
target_include_directories(KF5MessageViewer PUBLIC "$<BUILD_INTERFACE:${MessageViewer_SOURCE_DIR}/src;${MessageViewer_BINARY_DIR}/src;>")

target_link_libraries(KF5MessageViewer
Laurent Montel's avatar
Laurent Montel committed
317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
    PUBLIC
    KF5::MessageCore
    KF5::PimCommon
    KF5::AkonadiCore
    KF5::AkonadiMime
    KF5::Contacts
    KF5::Libkleo
    PRIVATE
    KF5::ItemViews
    ${libmessageviewer_web_LIB}
    KF5::Libkdepim
    KF5::GrantleeTheme
    KF5::KaddressbookGrantlee
    Grantlee5::TextDocument
    Grantlee5::Templates
    KF5::MailTransport
    KF5::Mime
    KF5::Mbox
    KF5::AkonadiNotes
    KF5::PimTextEdit
    KF5::CalendarCore
    KF5::Gravatar
    KF5::IconThemes
    )
341
if (WIN32)
Laurent Montel's avatar
Laurent Montel committed
342
    target_link_libraries(KF5MessageViewer PUBLIC KF5::Gpgmepp)
343
else()
Laurent Montel's avatar
Laurent Montel committed
344
    target_link_libraries(KF5MessageViewer PUBLIC KF5::Gpgmepp-pthread)
345 346 347 348 349 350 351 352
endif()

target_include_directories(KF5MessageViewer PUBLIC $<TARGET_PROPERTY:KF5::WebKit,INTERFACE_INCLUDE_DIRECTORIES>)

set_target_properties(KF5MessageViewer PROPERTIES
    VERSION ${MESSAGEVIEWER_VERSION_STRING}
    SOVERSION ${MESSAGEVIEWER_SOVERSION}
    EXPORT_NAME MessageViewer
Laurent Montel's avatar
Laurent Montel committed
353
    )
354 355 356 357

install(TARGETS
    KF5MessageViewer
    EXPORT KF5MessageViewerTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ${LIBRARY_NAMELINK}
Laurent Montel's avatar
Laurent Montel committed
358
    )
359

Laurent Montel's avatar
Laurent Montel committed
360
ecm_generate_headers(MessageViewer_Camelcasewebviewer_HEADERS
Laurent Montel's avatar
Laurent Montel committed
361 362 363 364 365 366 367 368
    HEADER_NAMES
    MailWebView
    WebViewAccessKey
    WebPage
    REQUIRED_HEADERS MessageViewer_webviewer_HEADERS
    PREFIX MessageViewer
    RELATIVE viewer/webview
    )
Laurent Montel's avatar
Laurent Montel committed
369

Laurent Montel's avatar
Laurent Montel committed
370
if (QTWEBENGINE_EXPERIMENTAL_OPTION)
Laurent Montel's avatar
Laurent Montel committed
371 372 373 374 375
    ecm_generate_headers(MessageViewer_Camelcasewebengine_HEADERS
        HEADER_NAMES
        MailWebEnginePage
        MailWebEngineAccessKey
        MailWebEngineView
376

Laurent Montel's avatar
Laurent Montel committed
377 378 379 380 381 382
        REQUIRED_HEADERS MessageViewer_webengine_HEADERS
        PREFIX MessageViewer
        RELATIVE viewer/webengine
        )
    ecm_generate_headers(MessageViewer_Camelcasewebengine_urlinterceptor_HEADERS
        HEADER_NAMES
Laurent Montel's avatar
Laurent Montel committed
383 384 385 386
        NetworkUrlInterceptorPluginManager
        NetworkUrlInterceptor
        NetworkPluginUrlInterceptorInterface
        NetworkPluginUrlInterceptor
387
        NetworkPluginUrlInterceptorConfigureWidget
Laurent Montel's avatar
Laurent Montel committed
388

Laurent Montel's avatar
Laurent Montel committed
389
        REQUIRED_HEADERS MessageViewer_webengine_urlinterceptor_HEADERS
Laurent Montel's avatar
Laurent Montel committed
390
        PREFIX MessageViewer
Laurent Montel's avatar
Laurent Montel committed
391
        RELATIVE webengine/urlinterceptor
Laurent Montel's avatar
Laurent Montel committed
392
        )
393 394
    ecm_generate_headers(MessageViewer_Camelcasewebengine_manager_HEADERS
        HEADER_NAMES
Laurent Montel's avatar
Laurent Montel committed
395
        NetworkAccessManagerWebEngine
396 397
        REQUIRED_HEADERS MessageViewer_webengine_manager_HEADERS
        PREFIX MessageViewer
Laurent Montel's avatar
Laurent Montel committed
398
        RELATIVE webengine/networkmanager
399
        )
Laurent Montel's avatar
Laurent Montel committed
400 401 402
    ecm_generate_headers(MessageViewer_Camelcasewebengine_misc_HEADERS
        HEADER_NAMES
        WebHitTestResult
Laurent Montel's avatar
Laurent Montel committed
403
        WebEnginePage
Laurent Montel's avatar
Laurent Montel committed
404
        WebEngineView
Laurent Montel's avatar
Laurent Montel committed
405
        WebHitTest
Laurent Montel's avatar
Laurent Montel committed
406 407 408 409
        REQUIRED_HEADERS MessageViewer_webengine_misc_HEADERS
        PREFIX MessageViewer
        RELATIVE webengine/
	)
Laurent Montel's avatar
Laurent Montel committed
410
endif()
Laurent Montel's avatar
Laurent Montel committed
411

Laurent Montel's avatar
Laurent Montel committed
412 413 414
ecm_generate_headers(MessageViewer_Camelcasescam_HEADERS
    HEADER_NAMES
    ScamExpandUrlJob
Laurent Montel's avatar
Laurent Montel committed
415
    ScamCheckShortUrlManager
Laurent Montel's avatar
Laurent Montel committed
416
    ScamCheckShortUrl
Laurent Montel's avatar
Laurent Montel committed
417 418 419 420 421 422
    REQUIRED_HEADERS MessageViewer_scam_HEADERS
    PREFIX MessageViewer
    RELATIVE scamdetection
    )


423
ecm_generate_headers(MessageViewer_Camelcaseviewer_HEADERS
Laurent Montel's avatar
Laurent Montel committed
424 425 426 427 428 429 430 431 432 433 434 435 436
    HEADER_NAMES
    Viewer
    CSSHelper
    PartMetaData
    ObjectTreeParser
    ObjectTreeEmptySource
    AttachmentStrategy
    NodeHelper
    EditorWatcher
    Stl_Util
    CSSHelperBase
    MessagePart
    Enums
437 438
    BodyPartFormatterBaseFactory
    BodyPartFormatterFactory
Laurent Montel's avatar
Laurent Montel committed
439 440 441 442
    REQUIRED_HEADERS MessageViewer_viewer_HEADERS
    PREFIX MessageViewer
    RELATIVE viewer
    )
443 444

ecm_generate_headers(MessageViewer_Camelcasemain_HEADERS
Laurent Montel's avatar
Laurent Montel committed
445 446 447 448 449
    HEADER_NAMES
    ObjectTreeSourceIf
    REQUIRED_HEADERS MessageViewer_main_HEADERS
    PREFIX MessageViewer
    )
450 451 452


ecm_generate_headers(MessageViewer_Camelcasewidgets_HEADERS
Laurent Montel's avatar
Laurent Montel committed
453 454 455 456 457 458 459 460 461
    HEADER_NAMES
    InvitationSettings
    PrintingSettings
    ConfigureWidget
    ZoomActionMenu
    REQUIRED_HEADERS MessageViewer_widgets_HEADERS
    PREFIX MessageViewer
    RELATIVE widgets
    )
462 463

ecm_generate_headers(MessageViewer_Camelcaseutils_HEADERS
Laurent Montel's avatar
Laurent Montel committed
464 465 466 467 468 469 470 471 472
    HEADER_NAMES
    MessageViewerUtil
    MarkMessageReadHandler
    IconNameCache
    MimeType
    REQUIRED_HEADERS MessageViewer_utils_HEADERS
    PREFIX MessageViewer
    RELATIVE utils
    )
473

474
ecm_generate_headers(MessageViewer_Camelfindbar_HEADERS
Laurent Montel's avatar
Laurent Montel committed
475 476 477
    HEADER_NAMES
    FindBarWebView
    FindBarBase
Laurent Montel's avatar
Laurent Montel committed
478 479 480 481
    REQUIRED_HEADERS MessageViewer_findbar_HEADERS
    PREFIX MessageViewer
    RELATIVE findbar
    )
482

Laurent Montel's avatar
Laurent Montel committed
483 484 485 486 487 488 489 490 491
if (QTWEBENGINE_EXPERIMENTAL_OPTION)
    ecm_generate_headers(MessageViewer_CamelfindbarWebEngine_HEADERS
        HEADER_NAMES
        FindBarWebEngineView
        REQUIRED_HEADERS MessageViewer_findbarWebEngine_HEADERS
        PREFIX MessageViewer
        RELATIVE findbar
        )
endif()
492

493
ecm_generate_headers(MessageViewer_Camelcaseantispam_HEADERS
Laurent Montel's avatar
Laurent Montel committed
494 495 496 497 498 499
    HEADER_NAMES
    SpamHeaderAnalyzer
    REQUIRED_HEADERS MessageViewer_antispam_HEADERS
    PREFIX MessageViewer
    RELATIVE antispam
    )
500 501

ecm_generate_headers(MessageViewer_Camelcaseinterfaces_HEADERS
Laurent Montel's avatar
Laurent Montel committed
502 503 504 505 506 507 508 509 510 511
    HEADER_NAMES
    BodyPartFormatter
    BodyPart
    BodyPartURLHandler
    HtmlWriter
    URLHandler
    REQUIRED_HEADERS MessageViewer_interfaces_HEADERS
    PREFIX MessageViewer
    RELATIVE interfaces
    )
512 513

ecm_generate_headers(MessageViewer_Camelcasesettings_HEADERS
Laurent Montel's avatar
Laurent Montel committed
514 515 516 517 518 519
    HEADER_NAMES
    MessageViewerSettings
    REQUIRED_HEADERS MessageViewer_settings_HEADERS
    PREFIX MessageViewer
    RELATIVE settings
    )
520 521 522


ecm_generate_headers(MessageViewer_Camelcaseheader_HEADERS
Laurent Montel's avatar
Laurent Montel committed
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539
    HEADER_NAMES
    HeaderStrategy
    GrantleeHeaderTestStyle
    GrantleeHeaderStyle
    HeaderStyle
    KXFace
    HeaderStyle_Util
    HeaderStylePlugin
    HeaderStyleInterface
    PlainHeaderStyle
    RichHeaderStrategy
    HeaderStylePluginManager
    HeaderStyleMenuManager
    REQUIRED_HEADERS MessageViewer_header_HEADERS
    PREFIX MessageViewer
    RELATIVE header
    )
540 541

ecm_generate_headers(MessageViewer_Camelcasehtmlwriter_HEADERS
Laurent Montel's avatar
Laurent Montel committed
542 543 544 545 546 547 548
    HEADER_NAMES
    WebKitPartHtmlWriter
    FileHtmlWriter
    REQUIRED_HEADERS MessageViewer_htmlwriter_HEADERS
    PREFIX MessageViewer
    RELATIVE htmlwriter
    )
549

Laurent Montel's avatar
Laurent Montel committed
550
ecm_generate_headers(MessageViewer_Camelcaseadblockcommon_HEADERS
Laurent Montel's avatar
Laurent Montel committed
551 552 553 554 555 556 557
    HEADER_NAMES
    AdBlockListWidget
    AdBlockSettingWidget
    REQUIRED_HEADERS MessageViewer_adblockcommon_HEADERS
    PREFIX MessageViewer
    RELATIVE adblock/common
    )
Laurent Montel's avatar
Laurent Montel committed
558 559


560
ecm_generate_headers(MessageViewer_Camelcaseadblock_HEADERS
Laurent Montel's avatar
Laurent Montel committed
561 562 563 564 565 566 567
    HEADER_NAMES
    AdBlockBlockableItemsDialog
    AdBlockManager
    REQUIRED_HEADERS MessageViewer_adblock_HEADERS
    PREFIX MessageViewer
    RELATIVE adblock
    )
568 569

ecm_generate_headers(MessageViewer_Camelcaseviewerplugin_HEADERS
Laurent Montel's avatar
Laurent Montel committed
570 571 572 573 574 575 576 577 578
    HEADER_NAMES
    ViewerPluginManager
    ViewerPlugin
    ViewerPluginInterface
    ViewerPluginToolManager
    REQUIRED_HEADERS MessageViewer_viewerplugin_HEADERS
    PREFIX MessageViewer
    RELATIVE viewerplugins
    )
579 580

ecm_generate_headers(MessageViewer_Camelcaseviewerjob_HEADERS
Laurent Montel's avatar
Laurent Montel committed
581 582 583 584 585 586 587 588
    HEADER_NAMES
    CreateTodoJob
    CreateNoteJob
    CreateEventJob
    REQUIRED_HEADERS MessageViewer_viewerjob_HEADERS
    PREFIX MessageViewer
    RELATIVE job
    )
589 590 591 592

ecm_generate_pri_file(BASE_NAME MessageViewer
    LIB_NAME KF5MessageViewer
    DEPS "PimCommon MessageCore AkonadiCore AkonadiMime Contacts Libkleo" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/MessageViewer
Laurent Montel's avatar
Laurent Montel committed
593
    )
594

Laurent Montel's avatar
Laurent Montel committed
595

596
install(FILES
Laurent Montel's avatar
Laurent Montel committed
597
    ${MessageViewer_Camelcasewebengine_misc_HEADERS}
598
    ${MessageViewer_Camelcasewebengine_manager_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
599
    ${MessageViewer_Camelcasewebengine_urlinterceptor_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
600
    ${MessageViewer_Camelcasewebengine_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
601
    ${MessageViewer_CamelfindbarWebEngine_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
602
    ${MessageViewer_Camelcasewebviewer_HEADERS}
603 604 605 606 607 608 609 610 611 612 613 614
    ${MessageViewer_Camelcaseheader_HEADERS}
    ${MessageViewer_Camelcaseviewerplugin_HEADERS}
    ${MessageViewer_Camelcasesettings_HEADERS}
    ${MessageViewer_Camelcaseadblock_HEADERS}
    ${MessageViewer_Camelcasehtmlwriter_HEADERS}
    ${MessageViewer_Camelcaseutils_HEADERS}
    ${MessageViewer_Camelcaseinterfaces_HEADERS}
    ${MessageViewer_Camelcaseviewer_HEADERS}
    ${MessageViewer_Camelcasewidgets_HEADERS}
    ${MessageViewer_Camelcasemain_HEADERS}
    ${MessageViewer_Camelcaseviewerjob_HEADERS}
    ${MessageViewer_Camelcaseantispam_HEADERS}
615
    ${MessageViewer_Camelfindbar_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
616
    ${MessageViewer_Camelcaseadblockcommon_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
617
    ${MessageViewer_Camelcasescam_HEADERS}
618 619
    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/MessageViewer
    COMPONENT Devel
Laurent Montel's avatar
Laurent Montel committed
620
    )
621 622

install(FILES
Laurent Montel's avatar
Laurent Montel committed
623
    ${MessageViewer_scam_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
624
    ${MessageViewer_webengine_misc_HEADERS}
625
    ${MessageViewer_webengine_manager_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
626
    ${MessageViewer_webengine_urlinterceptor_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
627
    ${MessageViewer_webengine_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
628
    ${MessageViewer_findbarWebEngine_HEADERS}
Raymond Wooninck's avatar
Typo  
Raymond Wooninck committed
629
    ${MessageViewer_adblockcommon_HEADERS}
Laurent Montel's avatar
Laurent Montel committed
630
    ${MessageViewer_webviewer_HEADERS}
631 632 633 634 635 636 637 638 639 640 641 642 643
    ${MessageViewer_viewerplugin_HEADERS}
    ${MessageViewer_settings_HEADERS}
    ${MessageViewer_adblock_HEADERS}
    ${MessageViewer_htmlwriter_HEADERS}
    ${MessageViewer_header_HEADERS}
    ${MessageViewer_utils_HEADERS}
    ${MessageViewer_interfaces_HEADERS}
    ${MessageViewer_HEADERS}
    ${MessageViewer_viewer_HEADERS}
    ${MessageViewer_main_HEADERS}
    ${MessageViewer_widgets_HEADERS}
    ${MessageViewer_viewerjob_HEADERS}
    ${MessageViewer_antispam_HEADERS}
644
    ${MessageViewer_findbar_HEADERS}
645 646 647 648 649 650
    ${CMAKE_CURRENT_BINARY_DIR}/messageviewer_export.h
    ${CMAKE_CURRENT_BINARY_DIR}/globalsettings_messageviewer.h
    ${CMAKE_CURRENT_BINARY_DIR}/messageviewer_debug.h

    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/messageviewer
    COMPONENT Devel
Laurent Montel's avatar
Laurent Montel committed
651
    )
652 653 654 655 656 657 658 659 660 661 662

install(FILES
    ${PRI_FILENAME}
    DESTINATION ${ECM_MKSPECS_INSTALL_DIR})


install(FILES header/data/messageviewer_header_themes.knsrc DESTINATION ${KDE_INSTALL_CONFDIR} )

install(FILES notify/messageviewer.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFY5RCDIR} )
install(FILES scamdetection/data/longurlServices.json DESTINATION ${KDE_INSTALL_DATADIR}/messageviewer )

663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700
# Disabled libotp for 16.04, because it is not ready for release yet.

# Project(Otp)
# 
# set(libotp_SRCS
#     ${libmessageviewer_otp_SRCS}
#     ${libmessageviewer_otp_extra_SRCS}
#     )
# ecm_qt_declare_logging_category(libotp_SRCS HEADER messageviewer_debug.h IDENTIFIER MESSAGEVIEWER_LOG CATEGORY_NAME log_messageviewer)
# 
# add_library(KF5Otp
#     ${libotp_SRCS}
#     )
# generate_export_header(KF5Otp BASE_NAME otp)
# add_library(KF5::Otp ALIAS KF5Otp)
# 
# target_link_libraries(KF5Otp
#     PUBLIC
#     KF5::MessageCore #NodeHelper, StringUtils, Settings
#     KF5::PimCommon #AttachmentTemporaryFile handling
#     KF5::Libkleo
#     PRIVATE
#     KF5::Mime
#     KF5::IconThemes
#     ${libmessageviewer_web_LIB}
#     Grantlee5::TextDocument
#     )
# 
# install(TARGETS
#     KF5Otp
#     EXPORT KF5OtpTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ${LIBRARY_NAMELINK}
#     )
# 
# set_target_properties(KF5Otp PROPERTIES
#     VERSION ${MESSAGEVIEWER_VERSION_STRING}
#     SOVERSION ${MESSAGEVIEWER_SOVERSION}
#     EXPORT_NAME Otp
#     )