Warning, /frameworks/ktexteditor/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # jscripts for the part
0002 add_subdirectory( script/data )
0003
0004 if(EditorConfig_FOUND)
0005 SET (CMAKE_REQUIRED_LIBRARIES ${EditorConfig_LIBRARIES})
0006 set (KTEXTEDITOR_OPTIONAL_LIBS ${KTEXTEDITOR_OPTIONAL_LIBS} ${EditorConfig_LIBRARIES})
0007 include_directories(${EditorConfig_INCLUDE_DIRS})
0008 endif()
0009
0010 # handle include files, both normal ones and generated ones
0011 add_subdirectory(include)
0012
0013 # includes
0014 include_directories(
0015 # for config.h
0016 ${CMAKE_BINARY_DIR}
0017
0018 # for generated ktexteditor headers
0019 ${CMAKE_CURRENT_BINARY_DIR}/include
0020
0021 # for normal sources
0022 ${CMAKE_CURRENT_SOURCE_DIR}
0023 ${CMAKE_CURRENT_SOURCE_DIR}/include
0024 ${CMAKE_CURRENT_SOURCE_DIR}/include/ktexteditor
0025 ${CMAKE_CURRENT_SOURCE_DIR}/buffer
0026 ${CMAKE_CURRENT_SOURCE_DIR}/completion
0027 ${CMAKE_CURRENT_SOURCE_DIR}/dialogs
0028 ${CMAKE_CURRENT_SOURCE_DIR}/document
0029 ${CMAKE_CURRENT_SOURCE_DIR}/script
0030 ${CMAKE_CURRENT_SOURCE_DIR}/mode
0031 ${CMAKE_CURRENT_SOURCE_DIR}/render
0032 ${CMAKE_CURRENT_SOURCE_DIR}/search
0033 ${CMAKE_CURRENT_SOURCE_DIR}/syntax
0034 ${CMAKE_CURRENT_SOURCE_DIR}/undo
0035 ${CMAKE_CURRENT_SOURCE_DIR}/utils
0036 ${CMAKE_CURRENT_SOURCE_DIR}/inputmode
0037 ${CMAKE_CURRENT_SOURCE_DIR}/view
0038 ${CMAKE_CURRENT_SOURCE_DIR}/swapfile
0039 ${CMAKE_CURRENT_SOURCE_DIR}/variableeditor)
0040
0041 # KTextEditor interface sources
0042 set(ktexteditor_LIB_SRCS
0043 # text buffer & buffer helpers
0044 buffer/katetextbuffer.cpp
0045 buffer/katetextblock.cpp
0046 buffer/katetextline.cpp
0047 buffer/katetextcursor.cpp
0048 buffer/katetextrange.cpp
0049 buffer/katetexthistory.cpp
0050 buffer/katetextfolding.cpp
0051
0052 # completion (widget, model, delegate, ...)
0053 completion/katecompletionwidget.cpp
0054 completion/katecompletionmodel.cpp
0055 completion/katecompletiontree.cpp
0056 completion/kateargumenthinttree.cpp
0057 completion/kateargumenthintmodel.cpp
0058 completion/katecompletiondelegate.cpp
0059 completion/expandingtree/expandingwidgetmodel.cpp
0060 completion/documentation_tip.cpp
0061
0062 # simple internal word completion
0063 completion/katewordcompletion.cpp
0064
0065 # internal syntax-file based keyword completion
0066 completion/katekeywordcompletion.cpp
0067
0068 # dialogs
0069 dialogs/kateconfigpage.cpp
0070 dialogs/katedialogs.cpp
0071 dialogs/kateconfigpage.cpp
0072 dialogs/clipboardhistorydialog.cpp
0073
0074 # document (THE document, buffer, lines/cursors/..., CORE STUFF)
0075 document/katedocument.cpp
0076 document/katebuffer.cpp
0077
0078 # undo
0079 undo/kateundo.cpp
0080 undo/kateundomanager.cpp
0081
0082 # scripting
0083 script/katescript.cpp
0084 script/kateindentscript.cpp
0085 script/katecommandlinescript.cpp
0086 script/katescriptmanager.cpp
0087 script/katescriptaction.cpp
0088
0089 # scripting wrappers
0090 script/katescripteditor.cpp
0091 script/katescriptdocument.cpp
0092 script/katescriptview.cpp
0093 script/katescripthelpers.cpp
0094
0095 # mode (modemanager and co)
0096 mode/katemodemanager.cpp
0097 mode/katemodeconfigpage.cpp
0098 mode/katemodemenu.cpp
0099 mode/katemodemenulist.cpp
0100
0101 # modeline variable editor
0102 variableeditor/variablelineedit.cpp
0103 variableeditor/variablelistview.cpp
0104 variableeditor/variableeditor.cpp
0105 variableeditor/variableitem.cpp
0106
0107 # printing classes
0108 printing/kateprinter.cpp
0109 printing/printpainter.cpp
0110 printing/printconfigwidgets.cpp
0111
0112 # rendering stuff (katerenderer and helpers)
0113 render/katerenderer.cpp
0114 render/katerenderrange.cpp
0115 render/katelayoutcache.cpp
0116 render/katetextlayout.cpp
0117 render/katelinelayout.cpp
0118
0119 # search stuff
0120 search/kateplaintextsearch.cpp
0121 search/kateregexpsearch.cpp
0122 search/katematch.cpp
0123 search/katesearchbar.cpp
0124
0125 # KSyntaxHighlighting integration
0126 syntax/katecategorydrawer.cpp
0127 syntax/katecolortreewidget.cpp
0128 syntax/katehighlight.cpp
0129 syntax/katehighlightingcmds.cpp
0130 syntax/katehighlightmenu.cpp
0131 syntax/katestyletreewidget.cpp
0132 syntax/katesyntaxmanager.cpp
0133 syntax/katethemeconfig.cpp
0134
0135 # view stuff (THE view and its helpers)
0136 view/kateview.cpp
0137 view/kateviewinternal.cpp
0138 view/kateviewhelpers.cpp
0139 view/kateannotationitemdelegate.cpp
0140 view/katemessagewidget.cpp
0141 view/katefadeeffect.cpp
0142 view/kateanimation.cpp
0143 view/katetextanimation.cpp
0144 view/katetextpreview.cpp
0145 view/katestatusbar.cpp
0146 view/wordcounter.cpp
0147 view/screenshotdialog.cpp
0148
0149 # spell checking
0150 spellcheck/prefixstore.h
0151 spellcheck/prefixstore.cpp
0152 spellcheck/ontheflycheck.h
0153 spellcheck/ontheflycheck.cpp
0154 spellcheck/spellcheck.h
0155 spellcheck/spellcheck.cpp
0156 spellcheck/spellcheckdialog.h
0157 spellcheck/spellcheckdialog.cpp
0158 spellcheck/spellcheckbar.cpp
0159 spellcheck/spellingmenu.h
0160 spellcheck/spellingmenu.cpp
0161
0162 # generic stuff, unsorted...
0163 utils/katecmds.cpp
0164 utils/kateconfig.cpp
0165 utils/katebookmarks.cpp
0166 utils/kateautoindent.cpp
0167 utils/kateindentdetecter.cpp
0168 utils/katetemplatehandler.cpp
0169 utils/kateglobal.cpp
0170 utils/katecmd.cpp
0171 utils/ktexteditor.cpp
0172 utils/document.cpp
0173 utils/range.cpp
0174 utils/documentcursor.cpp
0175 utils/attribute.cpp
0176 utils/codecompletionmodel.cpp
0177 utils/codecompletionmodelcontrollerinterface.cpp
0178 utils/movingapi.cpp
0179 utils/messageinterface.cpp
0180 utils/application.cpp
0181 utils/mainwindow.cpp
0182 utils/katecommandrangeexpressionparser.cpp
0183 utils/katesedcmd.cpp
0184 utils/variable.cpp
0185 utils/katevariableexpansionmanager.cpp
0186 utils/katevariableexpansionhelpers.cpp
0187
0188 # swapfile
0189 swapfile/kateswapdiffcreator.cpp
0190 swapfile/kateswapfile.cpp
0191
0192 # export as HTML
0193 export/exporter.cpp
0194 export/htmlexporter.cpp
0195
0196 # input modes
0197 inputmode/kateabstractinputmode.cpp
0198 inputmode/kateabstractinputmodefactory.cpp
0199 inputmode/katenormalinputmode.cpp
0200 inputmode/katenormalinputmodefactory.cpp
0201 )
0202
0203 # optionally compile with EditorConfig support
0204 if(EditorConfig_FOUND)
0205 set(ktexteditor_LIB_SRCS ${ktexteditor_LIB_SRCS} document/editorconfig.cpp)
0206 endif()
0207
0208 if(HAVE_KAUTH)
0209 set(ktexteditor_LIB_SRCS ${ktexteditor_LIB_SRCS} buffer/katesecuretextbuffer.cpp)
0210 endif()
0211
0212 ecm_qt_declare_logging_category(ktexteditor_LIB_SRCS
0213 HEADER katepartdebug.h
0214 IDENTIFIER LOG_KTE
0215 CATEGORY_NAME kf.texteditor
0216 OLD_CATEGORY_NAMES org.kde.ktexteditor
0217 DEFAULT_SEVERITY Warning
0218 DESCRIPTION "ktexteditor lib"
0219 EXPORT KTEXTEDITOR
0220 )
0221
0222
0223 ki18n_wrap_ui(ktexteditor_LIB_SRCS
0224 dialogs/textareaappearanceconfigwidget.ui
0225 dialogs/bordersappearanceconfigwidget.ui
0226 dialogs/completionconfigtab.ui
0227 dialogs/navigationconfigwidget.ui
0228 dialogs/editconfigwidget.ui
0229 dialogs/filetypeconfigwidget.ui
0230 dialogs/indentationconfigwidget.ui
0231 dialogs/opensaveconfigwidget.ui
0232 dialogs/opensaveconfigadvwidget.ui
0233 dialogs/statusbarconfigwidget.ui
0234 search/searchbarincremental.ui
0235 search/searchbarpower.ui
0236 spellcheck/spellcheckbar.ui
0237 dialogs/spellcheckconfigwidget.ui)
0238
0239 qt_add_resources( ktexteditor_qrc_SRCS data/ktexteditor.qrc "${CMAKE_CURRENT_BINARY_DIR}/script/data/script.qrc")
0240 set_source_files_properties(${ktexteditor_qrc_SRCS} PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
0241
0242 # vi mode
0243 ki18n_wrap_ui(ktexteditor_LIB_SRCS vimode/config/configwidget.ui)
0244 set(ktexteditor_LIB_SRCS ${ktexteditor_LIB_SRCS} ${ktexteditor_qrc_SRCS}
0245 inputmode/kateviinputmode.cpp
0246 inputmode/kateviinputmodefactory.cpp
0247
0248 # vi input mode
0249 vimode/config/configtab.cpp
0250
0251 vimode/modes/insertvimode.cpp
0252 vimode/modes/modebase.cpp
0253 vimode/modes/normalvimode.cpp
0254 vimode/modes/replacevimode.cpp
0255 vimode/modes/visualvimode.cpp
0256
0257 vimode/appcommands.cpp
0258 vimode/cmds.cpp
0259 vimode/inputmodemanager.cpp
0260 vimode/command.cpp
0261 vimode/motion.cpp
0262 vimode/range.cpp
0263 vimode/keyparser.cpp
0264 vimode/globalstate.cpp
0265 vimode/emulatedcommandbar/emulatedcommandbar.cpp
0266 vimode/emulatedcommandbar/matchhighlighter.cpp
0267 vimode/emulatedcommandbar/completer.cpp
0268 vimode/emulatedcommandbar/activemode.cpp
0269 vimode/emulatedcommandbar/interactivesedreplacemode.cpp
0270 vimode/emulatedcommandbar/searchmode.cpp
0271 vimode/emulatedcommandbar/commandmode.cpp
0272 vimode/commandrangeexpressionparser.cpp
0273 vimode/keyevent.cpp
0274 vimode/keymapper.cpp
0275 vimode/marks.cpp
0276 vimode/jumps.cpp
0277 vimode/history.cpp
0278 vimode/macros.cpp
0279 vimode/mappings.cpp
0280 vimode/registers.cpp
0281 vimode/searcher.cpp
0282 vimode/completion.cpp
0283 vimode/completionrecorder.cpp
0284 vimode/completionreplayer.cpp
0285 vimode/macrorecorder.cpp
0286 vimode/lastchangerecorder.cpp
0287 )
0288
0289 add_library(KF6TextEditor ${ktexteditor_LIB_SRCS} ${KTEXTEDITOR_PUBLIC_HEADERS})
0290 ecm_generate_export_header(KF6TextEditor
0291 BASE_NAME KTextEditor
0292 GROUP_BASE_NAME KF
0293 VERSION ${KF_VERSION}
0294 USE_VERSION_HEADER
0295 DEPRECATED_BASE_VERSION 0
0296 DEPRECATION_VERSIONS
0297 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0298 )
0299 add_library(KF6::TextEditor ALIAS KF6TextEditor)
0300
0301 target_include_directories(KF6TextEditor INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KTextEditor>")
0302
0303 # API is more or less KParts & KSyntaxHighlighting, other stuff is used only internally
0304 target_link_libraries(KF6TextEditor
0305 PUBLIC
0306 KF6::Parts
0307 KF6::Completion
0308 KF6::SyntaxHighlighting
0309 PRIVATE
0310 Qt6::Qml
0311 Qt6::PrintSupport
0312 Qt6::TextToSpeech
0313 KF6::I18n
0314 KF6::Archive
0315 KF6::GuiAddons
0316 KF6::ItemViews
0317 KF6::SonnetCore
0318 KF6::SonnetUi
0319 KF6::Codecs
0320 KF6::KIOWidgets
0321 KF6::TextWidgets
0322 ${KTEXTEDITOR_OPTIONAL_LIBS}
0323 )
0324
0325 if(HAVE_KAUTH)
0326 target_link_libraries(KF6TextEditor PRIVATE KF6::AuthCore)
0327 endif()
0328
0329 set_target_properties(KF6TextEditor
0330 PROPERTIES
0331 VERSION ${KTEXTEDITOR_VERSION}
0332 SOVERSION ${KTEXTEDITOR_SOVERSION}
0333 EXPORT_NAME "TextEditor"
0334 )
0335
0336 # precompiled headers support
0337 if(ENABLE_PCH)
0338 target_precompile_headers(KF6TextEditor
0339 PRIVATE
0340 <QList>
0341 <QPointer>
0342 <QSharedData>
0343 <QString>
0344 <QStringList>
0345 <QJsonDocument>
0346 <QTextFormat>
0347 <QWidget>
0348 <QObject>
0349 <QDebug>
0350 <algorithm>
0351 <functional>
0352 <type_traits>
0353 <utility>
0354 <vector>
0355 )
0356 endif()
0357
0358 install(TARGETS KF6TextEditor EXPORT KF6TextEditorTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0359
0360 install(FILES
0361 ${CMAKE_CURRENT_BINARY_DIR}/ktexteditor_export.h
0362 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KTextEditor
0363 COMPONENT Devel
0364 )
0365
0366 if(BUILD_QCH)
0367 ecm_add_qch(
0368 KF6TextEditor_QCH
0369 NAME KTextEditor
0370 BASE_NAME KF6TextEditor
0371 VERSION ${KF_VERSION}
0372 ORG_DOMAIN org.kde
0373 SOURCES # using only public headers, to cover only public API
0374 ${KTEXTEDITOR_PUBLIC_HEADERS}
0375 "${CMAKE_SOURCE_DIR}/docs/apidocs-groups.dox"
0376 "${CMAKE_SOURCE_DIR}/docs/coding-guidelines.dox"
0377 "${CMAKE_SOURCE_DIR}/docs/design.dox"
0378 "${CMAKE_SOURCE_DIR}/docs/porting.dox"
0379 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0380 IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0381 LINK_QCHS
0382 KF6Parts_QCH
0383 BLANK_MACROS
0384 KTEXTEDITOR_EXPORT
0385 KTEXTEDITOR_DEPRECATED
0386 KTEXTEDITOR_DEPRECATED_EXPORT
0387 "KTEXTEDITOR_DEPRECATED_VERSION(x, y, t)"
0388 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0389 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0390 COMPONENT Devel
0391 )
0392 endif()
0393
0394 if(HAVE_KAUTH)
0395 add_executable(kauth_ktexteditor_helper buffer/katesecuretextbuffer.cpp)
0396 target_link_libraries(kauth_ktexteditor_helper KF6::AuthCore)
0397 install(TARGETS kauth_ktexteditor_helper DESTINATION ${KAUTH_HELPER_INSTALL_DIR} )
0398 kauth_install_helper_files(kauth_ktexteditor_helper org.kde.ktexteditor6.katetextbuffer root)
0399 kauth_install_actions(org.kde.ktexteditor6.katetextbuffer buffer/org.kde.ktexteditor6.katetextbuffer.actions)
0400 endif()
0401
0402 # add part
0403 add_subdirectory(part)
0404
0405 ecm_qt_install_logging_categories(
0406 EXPORT KTEXTEDITOR
0407 FILE ktexteditor.categories
0408 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0409 )