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 )