Warning, /pim/kpimtextedit/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: none
0002 # SPDX-License-Identifier: BSD-3-Clause
0003
0004 ########### CMake Config Files ###########
0005 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6TextEdit")
0006 ecm_setup_version(PROJECT VARIABLE_PREFIX KPIMTEXTEDIT
0007 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kpimtextedit_version.h"
0008 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6TextEditConfigVersion.cmake"
0009 SOVERSION 6
0010 )
0011
0012
0013 if(BUILD_TESTING)
0014 add_subdirectory(autotests)
0015 add_subdirectory(tests)
0016 endif()
0017
0018
0019 add_library(KPim6TextEdit)
0020 add_library(KPim6::TextEdit ALIAS KPim6TextEdit)
0021
0022 target_sources(KPim6TextEdit PRIVATE
0023 composer-ng/richtextcomposer.cpp
0024 composer-ng/richtextcomposercontroler.cpp
0025 composer-ng/richtextcomposeractions.cpp
0026 composer-ng/klinkdialog.cpp
0027 composer-ng/nestedlisthelper.cpp
0028 composer-ng/richtextexternalcomposer.cpp
0029 composer-ng/richtextcomposerimages.cpp
0030 composer-ng/richtextcomposeremailquotedecorator.cpp
0031 composer-ng/richtextcomposeremailquotehighlighter.cpp
0032 composer-ng/richtextcomposerwidget.cpp
0033 composer-ng/richtextcomposer.h
0034 composer-ng/richtextcomposercontroler.h
0035 composer-ng/richtextcomposeractions.h
0036 composer-ng/klinkdialog_p.h
0037 composer-ng/nestedlisthelper_p.h
0038 composer-ng/richtextexternalcomposer.h
0039 composer-ng/richtextcomposerimages.h
0040 composer-ng/richtextcomposeremailquotedecorator.h
0041 composer-ng/richtextcomposeremailquotehighlighter.h
0042 composer-ng/richtextcomposerwidget.h
0043 )
0044
0045 target_sources(KPim6TextEdit PRIVATE
0046 grantleebuilder/plaintextmarkupbuilder.cpp
0047 grantleebuilder/markupdirector.cpp
0048 grantleebuilder/texthtmlbuilder.cpp
0049 grantleebuilder/plaintextmarkupbuilder.h
0050 grantleebuilder/markupdirector.h
0051 grantleebuilder/texthtmlbuilder.h
0052 )
0053
0054 target_sources(KPim6TextEdit PRIVATE
0055 inserthtmldialog.cpp
0056 insertimagedialog.cpp
0057 insertimagewidget.cpp
0058 inserttabledialog.cpp
0059 tableactionmenu.cpp
0060 tablecellformatdialog.cpp
0061 tableformatdialog.cpp
0062 textutils.cpp
0063 inserttablewidget.cpp
0064 inserthtmleditor.cpp
0065
0066 inserthtmldialog.h
0067 insertimagedialog.h
0068 insertimagewidget.h
0069 inserttabledialog.h
0070 tableactionmenu.h
0071 tablecellformatdialog.h
0072 tableformatdialog.h
0073 textutils.h
0074 inserttablewidget.h
0075 inserthtmleditor.h
0076 )
0077
0078 ecm_qt_declare_logging_category(KPim6TextEdit HEADER kpimtextedit_debug.h IDENTIFIER KPIMTEXTEDIT_LOG CATEGORY_NAME org.kde.pim.kpimtextedit
0079 DESCRIPTION "kpimtextedit (kpimtextedit)" EXPORT KPIMTEXTEDIT)
0080
0081
0082 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0083 set_target_properties(KPim6TextEdit PROPERTIES UNITY_BUILD ON)
0084 endif()
0085 ecm_generate_export_header(KPim6TextEdit
0086 BASE_NAME kpimtextedit
0087 VERSION ${KPIMTEXTEDIT_VERSION}
0088 DEPRECATED_BASE_VERSION 0
0089 USE_VERSION_HEADER
0090 )
0091
0092 target_include_directories(KPim6TextEdit INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/KPIMTextEdit;>")
0093 target_include_directories(KPim6TextEdit PUBLIC "$<BUILD_INTERFACE:${KPimTextEdit_SOURCE_DIR}/src;${KPimTextEdit_BINARY_DIR}/src>")
0094
0095
0096 target_link_libraries(KPim6TextEdit
0097 PUBLIC
0098 KF6::TextCustomEditor
0099 PRIVATE
0100 KF6::SonnetUi
0101 KF6::SonnetCore
0102 KF6::WidgetsAddons
0103 KF6::KIOWidgets
0104 KF6::XmlGui
0105 KF6::I18n
0106 KF6::SyntaxHighlighting
0107 KF6::Codecs
0108 )
0109
0110 if (TARGET KF6::TextEditTextToSpeech)
0111 target_link_libraries(KPim6TextEdit
0112 PRIVATE
0113 KF6::TextEditTextToSpeech
0114 )
0115 endif()
0116
0117 target_link_libraries(KPim6TextEdit
0118 PRIVATE
0119 KF6::TextEmoticonsWidgets
0120 )
0121
0122 set_target_properties(KPim6TextEdit PROPERTIES
0123 VERSION ${KPIMTEXTEDIT_VERSION}
0124 SOVERSION ${KPIMTEXTEDIT_SOVERSION}
0125 EXPORT_NAME PimTextEdit
0126 )
0127
0128 install(TARGETS KPim6TextEdit EXPORT KPim6TextEditTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0129
0130 ########### Generate Headers ###############
0131 ecm_generate_headers(KPimTextEdit_CamelCase_HEADERS
0132 HEADER_NAMES
0133 TextUtils
0134
0135 PREFIX KPIMTextEdit
0136 REQUIRED_HEADERS kpimtextedit_HEADERS
0137 )
0138
0139 ecm_generate_headers(KPimTextEdit_CamelCasegrantlee_HEADERS
0140 HEADER_NAMES
0141 PlainTextMarkupBuilder
0142 TextHTMLBuilder
0143 MarkupDirector
0144 AbstractMarkupBuilder
0145 PREFIX KPIMTextEdit
0146 REQUIRED_HEADERS kpimtextedit_HEADERS
0147 RELATIVE grantleebuilder
0148 )
0149
0150 ecm_generate_headers(KPimTextEdit_Camelcasecomposerng_HEADERS
0151 HEADER_NAMES
0152 RichTextComposer
0153 RichTextComposerControler
0154 RichTextComposerImages
0155 RichTextExternalComposer
0156 RichTextComposerActions
0157 RichTextComposerEmailQuoteHighlighter
0158 RichTextComposerWidget
0159 REQUIRED_HEADERS KPimTextEdit_composerng_HEADERS
0160 PREFIX KPIMTextEdit
0161 RELATIVE composer-ng
0162 )
0163
0164
0165 ########### install files ###############
0166
0167 install(FILES
0168 ${CMAKE_CURRENT_BINARY_DIR}/kpimtextedit_export.h
0169 ${kpimtextedit_HEADERS}
0170 ${KPimTextEdit_composerng_HEADERS}
0171 ${KPimTextEdit_grantlee_HEADERS}
0172 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KPIMTextEdit/kpimtextedit
0173 COMPONENT Devel
0174 )
0175
0176 install(FILES
0177 ${KPimTextEdit_CamelCase_HEADERS}
0178 ${KPimTextEdit_Camelcasecomposerng_HEADERS}
0179 ${KPimTextEdit_CamelCasegrantlee_HEADERS}
0180 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KPIMTextEdit/KPIMTextEdit/
0181 COMPONENT Devel
0182 )
0183
0184 if (BUILD_TESTING)
0185 add_subdirectory(composer-ng/autotests)
0186 add_subdirectory(composer-ng/tests)
0187 add_subdirectory(grantleebuilder/autotests)
0188 endif()
0189
0190 ecm_qt_install_logging_categories(EXPORT KPIMTEXTEDIT FILE kpimtextedit.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
0191
0192 if (BUILD_QCH)
0193 ecm_add_qch(
0194 KPim6TextEdit_QCH
0195 NAME KPimTextEdit
0196 BASE_NAME KPim6TextEdit
0197 VERSION ${PIM_VERSION}
0198 ORG_DOMAIN org.kde
0199 SOURCES # using only public headers, to cover only public API
0200 ${kpimtextedit_HEADERS}
0201 ${KPimTextEdit_composerng_HEADERS}
0202 ${KPimTextEdit_grantlee_HEADERS}
0203 LINK_QCHS
0204 Qt6Core_QCH
0205 Qt6Gui_QCH
0206 Qt6Widgets_QCH
0207 INCLUDE_DIRS
0208 ${CMAKE_CURRENT_BINARY_DIR}
0209 BLANK_MACROS
0210 KPIMTEXTEDIT_EXPORT
0211 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0212 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0213 COMPONENT Devel
0214 )
0215 ecm_install_qch_export(
0216 TARGETS KPim6PimTextEdit_QCH
0217 FILE KPim6TextEditQchTargets.cmake
0218 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0219 COMPONENT Devel
0220 )
0221 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6TextEditQchTargets.cmake\")")
0222 endif()
0223
0224
0225 configure_package_config_file(
0226 "${CMAKE_CURRENT_SOURCE_DIR}/KPimTextEditConfig.cmake.in"
0227 "${CMAKE_CURRENT_BINARY_DIR}/KPim6TextEditConfig.cmake"
0228 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0229 )
0230
0231 install(FILES
0232 "${CMAKE_CURRENT_BINARY_DIR}/KPim6TextEditConfig.cmake"
0233 "${CMAKE_CURRENT_BINARY_DIR}/KPim6TextEditConfigVersion.cmake"
0234 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0235 COMPONENT Devel
0236 )
0237
0238 install(EXPORT KPim6TextEditTargets
0239 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0240 FILE KPim6TextEditTargets.cmake
0241 NAMESPACE KPim6::
0242 )
0243
0244 install(FILES
0245 ${CMAKE_CURRENT_BINARY_DIR}/kpimtextedit_version.h
0246 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KPIMTextEdit
0247 COMPONENT Devel
0248 )
0249