Warning, /frameworks/ktexteditor/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

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