diff --git a/addons/CMakeLists.txt b/addons/CMakeLists.txt --- a/addons/CMakeLists.txt +++ b/addons/CMakeLists.txt @@ -1,62 +1,27 @@ -find_package( - KF5 ${KF5_DEP_VERSION} - OPTIONAL_COMPONENTS - GuiAddons - IconThemes - ItemModels - NewStuff - Plasma - Service - Wallet - ThreadWeaver -) - -set_package_properties(KF5Wallet PROPERTIES PURPOSE "Required to build the katesql addon") -set_package_properties(KF5Plasma PROPERTIES PURPOSE "Required to build the sessionapplet addon") -set_package_properties(KF5Service PROPERTIES PURPOSE "Required to build the sessionapplet addon") -set_package_properties(KF5ItemModels PROPERTIES PURPOSE "Required to build the project, konsole addon") -set_package_properties(KF5ThreadWeaver PROPERTIES PURPOSE "Required to build the project addon") -set_package_properties(KF5NewStuff PROPERTIES PURPOSE "Required to build the snippets and project addons") - -ecm_optional_add_subdirectory(filetree) # document switcher -ecm_optional_add_subdirectory(search) # Search in open documents and files. -ecm_optional_add_subdirectory(tabswitcher) # ALT+Tab like tab switcher -ecm_optional_add_subdirectory(kate-ctags) # ctags -ecm_optional_add_subdirectory(backtracebrowser) # backtrace -ecm_optional_add_subdirectory(filebrowser) # file browser -ecm_optional_add_subdirectory(xmltools) # XML completion -ecm_optional_add_subdirectory(xmlcheck) # XML Validation plugin +# Most plugins will need to link against KF5TextEditor to have access to its plugin interface. +find_package(KF5TextEditor QUIET REQUIRED) + +ecm_optional_add_subdirectory(backtracebrowser) +ecm_optional_add_subdirectory(close-except-like) # Close all documents except this one (or similar). +ecm_optional_add_subdirectory(filebrowser) +ecm_optional_add_subdirectory(filetree) +ecm_optional_add_subdirectory(gdbplugin) +ecm_optional_add_subdirectory(kate-ctags) +ecm_optional_add_subdirectory(katebuild-plugin) +ecm_optional_add_subdirectory(katesql) +ecm_optional_add_subdirectory(konsole) +ecm_optional_add_subdirectory(lspclient) # Language Server Protocol (LSP) client plugin. +ecm_optional_add_subdirectory(lumen) # D completion ecm_optional_add_subdirectory(openheader) # Open header matching to current file. +ecm_optional_add_subdirectory(preview) # Live preview of sources in target format. +ecm_optional_add_subdirectory(project) # Small & smart project manager. +ecm_optional_add_subdirectory(replicode) +ecm_optional_add_subdirectory(rustcompletion) +ecm_optional_add_subdirectory(search) +ecm_optional_add_subdirectory(sessionapplet) +ecm_optional_add_subdirectory(snippets) ecm_optional_add_subdirectory(symbolviewer) # List symbols and functions in a file. -ecm_optional_add_subdirectory(replicode) # replicode integration +ecm_optional_add_subdirectory(tabswitcher) # ALT+Tab like tab switcher. ecm_optional_add_subdirectory(textfilter) # Pipe text through some external command. -ecm_optional_add_subdirectory(rustcompletion) # Rust complection plugin -ecm_optional_add_subdirectory(lumen) # D completion plugin -ecm_optional_add_subdirectory(lspclient) # Language Server Protocol (LSP) client plugin. -ecm_optional_add_subdirectory(katebuild-plugin) # build plugin -ecm_optional_add_subdirectory(close-except-like) # Close document except this one (or similar). -ecm_optional_add_subdirectory (preview) # Live preview of sources in target format. - -if(NOT WIN32) - ecm_optional_add_subdirectory(gdbplugin) # Debugger plugin. Hasn't been ported to Windows yet. -endif() - -if(KF5Wallet_FOUND) - ecm_optional_add_subdirectory(katesql) # kate sql -endif() - -if(KF5NewStuff_FOUND) - ecm_optional_add_subdirectory (snippets) # snippets -endif() - -if(KF5Service_FOUND AND NOT WIN32) - ecm_optional_add_subdirectory (konsole) # terminal tool view -endif() - -if(KF5ItemModels_FOUND AND KF5ThreadWeaver_FOUND AND KF5NewStuff_FOUND) - ecm_optional_add_subdirectory (project) # Small & smart project manager. -endif() - -if(KF5Plasma_FOUND AND KF5Service_FOUND) - ecm_optional_add_subdirectory (sessionapplet) -endif() +ecm_optional_add_subdirectory(xmlcheck) # XML Validation plugin +ecm_optional_add_subdirectory(xmltools) # XML completion diff --git a/addons/backtracebrowser/CMakeLists.txt b/addons/backtracebrowser/CMakeLists.txt --- a/addons/backtracebrowser/CMakeLists.txt +++ b/addons/backtracebrowser/CMakeLists.txt @@ -14,13 +14,7 @@ add_library(katebacktracebrowserplugin MODULE ${katebacktracebrowserplugin_PART_SRCS}) target_compile_definitions(katebacktracebrowserplugin PRIVATE TRANSLATION_DOMAIN="katebacktracebrowserplugin") - -target_link_libraries( - katebacktracebrowserplugin - PRIVATE - KF5::TextEditor - KF5::I18n -) +target_link_libraries(katebacktracebrowserplugin PRIVATE KF5::TextEditor) kcoreaddons_desktop_to_json(katebacktracebrowserplugin katebacktracebrowserplugin.desktop) install(TARGETS katebacktracebrowserplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/backtracebrowser/autotests/CMakeLists.txt b/addons/backtracebrowser/autotests/CMakeLists.txt --- a/addons/backtracebrowser/autotests/CMakeLists.txt +++ b/addons/backtracebrowser/autotests/CMakeLists.txt @@ -3,6 +3,7 @@ add_executable(btbrowser_test "") target_include_directories(btbrowser_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) +find_package(Qt5Test QUIET REQUIRED) target_link_libraries( btbrowser_test PRIVATE diff --git a/addons/close-except-like/.kateconfig b/addons/close-except-like/.kateconfig deleted file mode 100644 --- a/addons/close-except-like/.kateconfig +++ /dev/null @@ -1 +0,0 @@ -kate: space-indent on; tab-width 4; indent-width 4; replace-tabs on; hl C++/Qt4; diff --git a/addons/close-except-like/CMakeLists.txt b/addons/close-except-like/CMakeLists.txt --- a/addons/close-except-like/CMakeLists.txt +++ b/addons/close-except-like/CMakeLists.txt @@ -1,3 +1,10 @@ +find_package(KF5IconThemes QUIET) +set_package_properties(KF5IconThemes PROPERTIES PURPOSE "Required to build the close-except-like addon") + +if(NOT KF5IconThemes_FOUND) + return() +endif() + set(KATE_CLOSE_EXCEPT_PLUGIN_SOURCES close_confirm_dialog.cpp close_except_plugin.cpp @@ -15,8 +22,6 @@ katecloseexceptplugin PRIVATE KF5::TextEditor - KF5::Parts - KF5::I18n KF5::IconThemes ) diff --git a/addons/filebrowser/CMakeLists.txt b/addons/filebrowser/CMakeLists.txt --- a/addons/filebrowser/CMakeLists.txt +++ b/addons/filebrowser/CMakeLists.txt @@ -1,3 +1,10 @@ +find_package(KF5KIO QUIET) +set_package_properties(KF5KIO PROPERTIES PURPOSE "Required to build the filebrowser addon") + +if(NOT KF5KIO_FOUND) + return() +endif() + set(katefilebrowserplugin_PART_SRCS katefilebrowserplugin.cpp katefilebrowserconfig.cpp @@ -12,10 +19,7 @@ katefilebrowserplugin PRIVATE KF5::TextEditor - KF5::KIOCore - KF5::KIOFileWidgets - KF5::KIOWidgets - KF5::I18n + KF5::KIOFileWidgets ) kcoreaddons_desktop_to_json(katefilebrowserplugin katefilebrowserplugin.desktop) diff --git a/addons/filetree/CMakeLists.txt b/addons/filetree/CMakeLists.txt --- a/addons/filetree/CMakeLists.txt +++ b/addons/filetree/CMakeLists.txt @@ -1,16 +1,21 @@ +find_package(KF5GuiAddons QUIET) +set_package_properties(KF5GuiAddons PROPERTIES PURPOSE "Required to build the katefiletree addon") + +if(NOT KF5GuiAddons_FOUND) + return() +endif() + add_library(katefiletree STATIC "") set_target_properties(katefiletree PROPERTIES POSITION_INDEPENDENT_CODE TRUE) -# PUBLIC so that katefiletreeplugin inherits these usage requirements. +# PUBLIC so that `katefiletreeplugin` inherits these usage requirements. target_compile_definitions(katefiletree PUBLIC TRANSLATION_DOMAIN="katefiletree") target_link_libraries( katefiletree PUBLIC KF5::TextEditor - KF5::I18n KF5::GuiAddons - KF5::IconThemes ) target_sources( diff --git a/addons/filetree/autotests/CMakeLists.txt b/addons/filetree/autotests/CMakeLists.txt --- a/addons/filetree/autotests/CMakeLists.txt +++ b/addons/filetree/autotests/CMakeLists.txt @@ -2,6 +2,7 @@ add_executable(filetree_model_test "") +find_package(Qt5Test QUIET REQUIRED) target_link_libraries( filetree_model_test PRIVATE diff --git a/addons/gdbplugin/CMakeLists.txt b/addons/gdbplugin/CMakeLists.txt --- a/addons/gdbplugin/CMakeLists.txt +++ b/addons/gdbplugin/CMakeLists.txt @@ -1,3 +1,8 @@ +# Hasn't been ported to Windows yet. +if(WIN32) + return() +endif() + set(kategdbplugin_PART_SRCS plugin_kategdb.cpp debugview.cpp @@ -12,14 +17,7 @@ add_library(kategdbplugin MODULE ${kategdbplugin_PART_SRCS}) target_compile_definitions(kategdbplugin PRIVATE TRANSLATION_DOMAIN="kategdbplugin") - -target_link_libraries( - kategdbplugin - PRIVATE - KF5::TextEditor - KF5::I18n - KF5::IconThemes -) +target_link_libraries(kategdbplugin PRIVATE KF5::TextEditor) kcoreaddons_desktop_to_json(kategdbplugin kategdbplugin.desktop) install(TARGETS kategdbplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/kate-ctags/CMakeLists.txt b/addons/kate-ctags/CMakeLists.txt --- a/addons/kate-ctags/CMakeLists.txt +++ b/addons/kate-ctags/CMakeLists.txt @@ -20,14 +20,7 @@ add_library(katectagsplugin MODULE ${ctagsplugin_SRC}) target_compile_definitions(katectagsplugin PRIVATE TRANSLATION_DOMAIN="kate-ctags-plugin") - -target_link_libraries( - katectagsplugin - PRIVATE - KF5::TextEditor - KF5::I18n - KF5::IconThemes -) +target_link_libraries(katectagsplugin PRIVATE KF5::TextEditor) kcoreaddons_desktop_to_json(katectagsplugin katectagsplugin.desktop) install(TARGETS katectagsplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/katebuild-plugin/CMakeLists.txt b/addons/katebuild-plugin/CMakeLists.txt --- a/addons/katebuild-plugin/CMakeLists.txt +++ b/addons/katebuild-plugin/CMakeLists.txt @@ -12,14 +12,7 @@ add_library(katebuildplugin MODULE ${katebuild_SRCS}) target_compile_definitions(katebuildplugin PRIVATE TRANSLATION_DOMAIN="katebuild-plugin") - -target_link_libraries( - katebuildplugin - PRIVATE - KF5::TextEditor - KF5::I18n - KF5::IconThemes -) +target_link_libraries(katebuildplugin PRIVATE KF5::TextEditor) kcoreaddons_desktop_to_json (katebuildplugin katebuildplugin.desktop) install(TARGETS katebuildplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/katesql/CMakeLists.txt b/addons/katesql/CMakeLists.txt --- a/addons/katesql/CMakeLists.txt +++ b/addons/katesql/CMakeLists.txt @@ -1,37 +1,45 @@ -set(katesql_SRCS - katesqlplugin.cpp - katesqlview.cpp - connectionmodel.cpp - sqlmanager.cpp - cachedsqlquerymodel.cpp - dataoutputmodel.cpp - dataoutputview.cpp - dataoutputwidget.cpp - textoutputwidget.cpp - schemawidget.cpp - schemabrowserwidget.cpp - connectionwizard.cpp - katesqlconfigpage.cpp - exportwizard.cpp - outputstylewidget.cpp - outputwidget.cpp - plugin.qrc -) +find_package(KF5Wallet QUIET) +set_package_properties(KF5Wallet PROPERTIES PURPOSE "Required to build the katesql addon") + +find_package(Qt5Sql QUIET) +set_package_properties(Qt5Sql PROPERTIES PURPOSE "Required to build the katesql addon") + +if(NOT KF5Wallet_FOUND OR NOT Qt5Sql_FOUND) + return() +endif() -add_library(katesqlplugin MODULE ${katesql_SRCS}) +add_library(katesqlplugin MODULE "") target_compile_definitions(katesqlplugin PRIVATE TRANSLATION_DOMAIN="katesql") target_link_libraries( katesqlplugin PRIVATE - Qt5::Sql KF5::TextEditor - KF5::Parts - KF5::I18n KF5::Wallet - KF5::ItemViews - KF5::IconThemes + Qt5::Sql +) + +target_sources( + katesqlplugin + PRIVATE + katesqlplugin.cpp + katesqlview.cpp + connectionmodel.cpp + sqlmanager.cpp + cachedsqlquerymodel.cpp + dataoutputmodel.cpp + dataoutputview.cpp + dataoutputwidget.cpp + textoutputwidget.cpp + schemawidget.cpp + schemabrowserwidget.cpp + connectionwizard.cpp + katesqlconfigpage.cpp + exportwizard.cpp + outputstylewidget.cpp + outputwidget.cpp + plugin.qrc ) kcoreaddons_desktop_to_json(katesqlplugin katesql.desktop) -install(TARGETS katesqlplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor ) +install(TARGETS katesqlplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/konsole/CMakeLists.txt b/addons/konsole/CMakeLists.txt --- a/addons/konsole/CMakeLists.txt +++ b/addons/konsole/CMakeLists.txt @@ -1,15 +1,10 @@ +if(WIN32) + return() +endif() + add_library(katekonsoleplugin MODULE "") target_compile_definitions(katekonsoleplugin PRIVATE TRANSLATION_DOMAIN="katekonsoleplugin") - -target_link_libraries( - katekonsoleplugin - PRIVATE - KF5::TextEditor - KF5::Parts - KF5::IconThemes - KF5::I18n - KF5::Service -) +target_link_libraries(katekonsoleplugin PRIVATE KF5::TextEditor) target_sources( katekonsoleplugin diff --git a/addons/lspclient/CMakeLists.txt b/addons/lspclient/CMakeLists.txt --- a/addons/lspclient/CMakeLists.txt +++ b/addons/lspclient/CMakeLists.txt @@ -1,4 +1,9 @@ -include(ECMQtDeclareLoggingCategory) +find_package(KF5ItemModels QUIET) +set_package_properties(KF5ItemModels PROPERTIES PURPOSE "Required to build the lspclient addon") + +if(NOT KF5ItemModels_FOUND) + return() +endif() set(lspclientplugin_SRCS lspclientcompletion.cpp @@ -12,6 +17,7 @@ plugin.qrc ) +include(ECMQtDeclareLoggingCategory) ecm_qt_declare_logging_category( lspclientplugin_debug_SRCS HEADER lspclient_debug.h @@ -24,11 +30,9 @@ target_link_libraries( lspclientplugin - PRIVATE - KF5::TextEditor - KF5::XmlGui - KF5::ItemViews + PRIVATE KF5::ItemModels + KF5::TextEditor ) kcoreaddons_desktop_to_json(lspclientplugin lspclientplugin.desktop) diff --git a/addons/lspclient/tests/CMakeLists.txt b/addons/lspclient/tests/CMakeLists.txt --- a/addons/lspclient/tests/CMakeLists.txt +++ b/addons/lspclient/tests/CMakeLists.txt @@ -1,12 +1,6 @@ add_executable(lsptestapp "") target_include_directories(lsptestapp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/..) - -target_link_libraries( - lsptestapp - PRIVATE - KF5::TextEditor - Qt5::Core -) +target_link_libraries(lsptestapp PRIVATE KF5::TextEditor) target_sources( lsptestapp diff --git a/addons/lumen/CMakeLists.txt b/addons/lumen/CMakeLists.txt --- a/addons/lumen/CMakeLists.txt +++ b/addons/lumen/CMakeLists.txt @@ -1,10 +1,6 @@ add_library(ktexteditor_lumen MODULE "") target_compile_definitions(ktexteditor_lumen PRIVATE TRANSLATION_DOMAIN="ktexteditor_lumen") - -target_link_libraries( - ktexteditor_lumen - PRIVATE KF5::TextEditor -) +target_link_libraries(ktexteditor_lumen PRIVATE KF5::TextEditor) target_sources( ktexteditor_lumen diff --git a/addons/openheader/CMakeLists.txt b/addons/openheader/CMakeLists.txt --- a/addons/openheader/CMakeLists.txt +++ b/addons/openheader/CMakeLists.txt @@ -1,13 +1,6 @@ add_library(kateopenheaderplugin MODULE "") target_compile_definitions(kateopenheaderplugin PRIVATE TRANSLATION_DOMAIN="kateopenheader") - -target_link_libraries( - kateopenheaderplugin - PRIVATE - KF5::TextEditor - KF5::I18n - KF5::Parts -) +target_link_libraries(kateopenheaderplugin PRIVATE KF5::TextEditor) target_sources( kateopenheaderplugin diff --git a/addons/preview/CMakeLists.txt b/addons/preview/CMakeLists.txt --- a/addons/preview/CMakeLists.txt +++ b/addons/preview/CMakeLists.txt @@ -16,12 +16,6 @@ add_library(ktexteditorpreviewplugin MODULE ${ktexteditorpreviewplugin_SRCS}) target_compile_definitions(ktexteditorpreviewplugin PRIVATE TRANSLATION_DOMAIN="ktexteditorpreviewplugin") - -target_link_libraries( - ktexteditorpreviewplugin - PRIVATE - KF5::TextEditor - KF5::I18n -) +target_link_libraries(ktexteditorpreviewplugin PRIVATE KF5::TextEditor) install(TARGETS ktexteditorpreviewplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}/ktexteditor) diff --git a/addons/project/CMakeLists.txt b/addons/project/CMakeLists.txt --- a/addons/project/CMakeLists.txt +++ b/addons/project/CMakeLists.txt @@ -1,23 +1,35 @@ -find_package(KF5NewStuff ${KF5_DEP_VERSION} REQUIRED) # For KMoreTools +find_package( + KF5 + QUIET + COMPONENTS + GuiAddons + NewStuff + ThreadWeaver +) + +set_package_properties(KFGuiAddons PROPERTIES PURPOSE "Required to build the project addon") +set_package_properties(KF5NewStuff PROPERTIES PURPOSE "Required to build the project addon") +set_package_properties(KF5ThreadWeaver PROPERTIES PURPOSE "Required to build the project addon") + +if(NOT KF5_FOUND) + return() +endif() add_library(kateprojectplugin MODULE "") target_compile_definitions(kateprojectplugin PRIVATE TRANSLATION_DOMAIN="kateproject") target_link_libraries( kateprojectplugin PRIVATE - KF5::TextEditor - KF5::Parts - KF5::I18n KF5::GuiAddons - KF5::ItemViews - KF5::ItemModels - KF5::IconThemes - KF5::ThreadWeaver KF5::NewStuff + KF5::TextEditor + KF5::ThreadWeaver ) +include(CheckFunctionExists) check_function_exists(ctermid HAVE_CTERMID) + if(HAVE_CTERMID) target_compile_definitions(kateprojectplugin PRIVATE HAVE_CTERMID) endif() diff --git a/addons/project/autotests/CMakeLists.txt b/addons/project/autotests/CMakeLists.txt --- a/addons/project/autotests/CMakeLists.txt +++ b/addons/project/autotests/CMakeLists.txt @@ -3,6 +3,7 @@ add_executable(projectplugin_test "") target_include_directories(projectplugin_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) +find_package(Qt5Test QUIET REQUIRED) target_link_libraries( projectplugin_test PRIVATE diff --git a/addons/replicode/CMakeLists.txt b/addons/replicode/CMakeLists.txt --- a/addons/replicode/CMakeLists.txt +++ b/addons/replicode/CMakeLists.txt @@ -1,3 +1,10 @@ +find_package(KF5IconThemes QUIET) +set_package_properties(KF5IconThemes PROPERTIES PURPOSE "Required to build the replicode addon") + +if(NOT KF5IconThemes_FOUND) + return() +endif() + set(katereplicode_SRCS replicodeplugin.cpp replicodeconfigpage.cpp @@ -17,7 +24,6 @@ PRIVATE KF5::TextEditor KF5::IconThemes - KF5::I18n ) kcoreaddons_desktop_to_json(katereplicodeplugin katereplicodeplugin.desktop) diff --git a/addons/rustcompletion/CMakeLists.txt b/addons/rustcompletion/CMakeLists.txt --- a/addons/rustcompletion/CMakeLists.txt +++ b/addons/rustcompletion/CMakeLists.txt @@ -1,12 +1,6 @@ add_library(kterustcompletionplugin MODULE ${kterustcompletion_SRCS}) target_compile_definitions(kterustcompletionplugin PRIVATE TRANSLATION_DOMAIN="kterustcompletion") - -target_link_libraries( - kterustcompletionplugin - PRIVATE - KF5::TextEditor - KF5::XmlGui -) +target_link_libraries(kterustcompletionplugin PRIVATE KF5::TextEditor) target_sources( kterustcompletionplugin diff --git a/addons/search/CMakeLists.txt b/addons/search/CMakeLists.txt --- a/addons/search/CMakeLists.txt +++ b/addons/search/CMakeLists.txt @@ -1,3 +1,10 @@ +find_package(KF5ItemViews QUIET) +set_package_properties(KF5ItemViews PROPERTIES PURPOSE "Required to build the search addon") + +if(NOT KF5ItemViews_FOUND) + return() +endif() + set(katesearchplugin_PART_SRCS plugin_search.cpp search_open_files.cpp @@ -16,9 +23,8 @@ target_link_libraries( katesearchplugin PRIVATE - KF5::TextEditor - KF5::Parts KF5::I18n KF5::IconThemes KF5::ItemViews + KF5::TextEditor ) kcoreaddons_desktop_to_json(katesearchplugin katesearch.desktop) diff --git a/addons/sessionapplet/CMakeLists.txt b/addons/sessionapplet/CMakeLists.txt --- a/addons/sessionapplet/CMakeLists.txt +++ b/addons/sessionapplet/CMakeLists.txt @@ -1,2 +1,36 @@ +find_package(KF5Plasma QUIET) +set_package_properties(KF5Plasma PROPERTIES PURPOSE "Required to build the sessionapplet addon") + +find_package(Qt5Widgets QUIET) +set_package_properties(Qt5Widgets PROPERTIES PURPOSE "Required to build the sessionapplet addon") + +if(NOT KF5Plasma_FOUND OR NOT Qt5Widgets_FOUND) + return() +endif() + +add_library(plasma_engine_katesessions MODULE ${plasma_engine_katesessions_SRCS}) +target_compile_definitions(plasma_engine_katesessions PRIVATE TRANSLATION_DOMAIN="plasma_applet_org.kde.plasma.katesessions") + +target_link_libraries( + plasma_engine_katesessions + PRIVATE + KF5::I18n + KF5::Plasma + Qt5::Widgets +) + +target_sources( + plasma_engine_katesessions + PRIVATE + katesessionsengine.cpp + katesessionsmodel.cpp + katesessionsjob.cpp + katesessionsservice.cpp +) + plasma_install_package(applet org.kde.plasma.katesessions) -add_subdirectory(engine) +kcoreaddons_desktop_to_json(plasma_engine_katesessions plasma-dataengine-katesessions.desktop) +install(TARGETS plasma_engine_katesessions DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/dataengine) +install(FILES plasma-dataengine-katesessions.desktop DESTINATION ${SERVICES_INSTALL_DIR}) +install(FILES org.kde.plasma.katesessions.operations DESTINATION ${PLASMA_DATA_INSTALL_DIR}/services) + diff --git a/addons/sessionapplet/engine/CMakeLists.txt b/addons/sessionapplet/engine/CMakeLists.txt deleted file mode 100644 --- a/addons/sessionapplet/engine/CMakeLists.txt +++ /dev/null @@ -1,27 +0,0 @@ -add_library(plasma_engine_katesessions MODULE ${plasma_engine_katesessions_SRCS}) -target_compile_definitions(plasma_engine_katesessions PRIVATE TRANSLATION_DOMAIN="plasma_applet_org.kde.plasma.katesessions") - -target_link_libraries( - plasma_engine_katesessions - PRIVATE - Qt5::Widgets # QAction - KF5::IconThemes - KF5::Plasma - KF5::Service - KF5::I18n -) - -target_sources( - plasma_engine_katesessions - PRIVATE - katesessionsengine.cpp - katesessionsmodel.cpp - katesessionsjob.cpp - katesessionsservice.cpp -) - -kcoreaddons_desktop_to_json(plasma_engine_katesessions plasma-dataengine-katesessions.desktop) -install(TARGETS plasma_engine_katesessions DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/dataengine) -install(FILES plasma-dataengine-katesessions.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -install(FILES org.kde.plasma.katesessions.operations DESTINATION ${PLASMA_DATA_INSTALL_DIR}/services) - diff --git a/addons/sessionapplet/engine/katesessionsengine.h b/addons/sessionapplet/katesessionsengine.h rename from addons/sessionapplet/engine/katesessionsengine.h rename to addons/sessionapplet/katesessionsengine.h diff --git a/addons/sessionapplet/engine/katesessionsengine.cpp b/addons/sessionapplet/katesessionsengine.cpp rename from addons/sessionapplet/engine/katesessionsengine.cpp rename to addons/sessionapplet/katesessionsengine.cpp diff --git a/addons/sessionapplet/engine/katesessionsjob.h b/addons/sessionapplet/katesessionsjob.h rename from addons/sessionapplet/engine/katesessionsjob.h rename to addons/sessionapplet/katesessionsjob.h diff --git a/addons/sessionapplet/engine/katesessionsjob.cpp b/addons/sessionapplet/katesessionsjob.cpp rename from addons/sessionapplet/engine/katesessionsjob.cpp rename to addons/sessionapplet/katesessionsjob.cpp diff --git a/addons/sessionapplet/engine/katesessionsmodel.h b/addons/sessionapplet/katesessionsmodel.h rename from addons/sessionapplet/engine/katesessionsmodel.h rename to addons/sessionapplet/katesessionsmodel.h diff --git a/addons/sessionapplet/engine/katesessionsmodel.cpp b/addons/sessionapplet/katesessionsmodel.cpp rename from addons/sessionapplet/engine/katesessionsmodel.cpp rename to addons/sessionapplet/katesessionsmodel.cpp diff --git a/addons/sessionapplet/engine/katesessionsservice.h b/addons/sessionapplet/katesessionsservice.h rename from addons/sessionapplet/engine/katesessionsservice.h rename to addons/sessionapplet/katesessionsservice.h diff --git a/addons/sessionapplet/engine/katesessionsservice.cpp b/addons/sessionapplet/katesessionsservice.cpp rename from addons/sessionapplet/engine/katesessionsservice.cpp rename to addons/sessionapplet/katesessionsservice.cpp diff --git a/addons/sessionapplet/engine/org.kde.plasma.katesessions.operations b/addons/sessionapplet/org.kde.plasma.katesessions.operations rename from addons/sessionapplet/engine/org.kde.plasma.katesessions.operations rename to addons/sessionapplet/org.kde.plasma.katesessions.operations diff --git a/addons/sessionapplet/engine/plasma-dataengine-katesessions.desktop b/addons/sessionapplet/plasma-dataengine-katesessions.desktop rename from addons/sessionapplet/engine/plasma-dataengine-katesessions.desktop rename to addons/sessionapplet/plasma-dataengine-katesessions.desktop diff --git a/addons/snippets/CMakeLists.txt b/addons/snippets/CMakeLists.txt --- a/addons/snippets/CMakeLists.txt +++ b/addons/snippets/CMakeLists.txt @@ -1,3 +1,10 @@ +find_package(KF5NewStuff QUIET) +set_package_properties(KF5NewStuff PROPERTIES PURPOSE "Required to build the snippets addon") + +if(NOT KF5NewStuff_FOUND) + return() +endif() + set(katesnippetsplugin_PART_SRCS katesnippets.cpp katesnippetglobal.cpp @@ -20,12 +27,8 @@ target_link_libraries( katesnippetsplugin PRIVATE - KF5::TextEditor - KF5::Parts - KF5::I18n KF5::NewStuff - KF5::ItemViews - KF5::IconThemes + KF5::TextEditor ) kcoreaddons_desktop_to_json(katesnippetsplugin katesnippetsplugin.desktop) diff --git a/addons/symbolviewer/CMakeLists.txt b/addons/symbolviewer/CMakeLists.txt --- a/addons/symbolviewer/CMakeLists.txt +++ b/addons/symbolviewer/CMakeLists.txt @@ -1,12 +1,6 @@ add_library(katesymbolviewerplugin MODULE "") target_compile_definitions(katesymbolviewerplugin PRIVATE TRANSLATION_DOMAIN="katesymbolviewer") - -target_link_libraries( - katesymbolviewerplugin - PRIVATE - KF5::TextEditor - KF5::I18n KF5::IconThemes -) +target_link_libraries(katesymbolviewerplugin PRIVATE KF5::TextEditor) target_sources( katesymbolviewerplugin @@ -26,5 +20,5 @@ plugin.qrc ) -kcoreaddons_desktop_to_json (katesymbolviewerplugin katesymbolviewerplugin.desktop) +kcoreaddons_desktop_to_json(katesymbolviewerplugin katesymbolviewerplugin.desktop) install(TARGETS katesymbolviewerplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/tabswitcher/CMakeLists.txt b/addons/tabswitcher/CMakeLists.txt --- a/addons/tabswitcher/CMakeLists.txt +++ b/addons/tabswitcher/CMakeLists.txt @@ -1,14 +1,6 @@ add_library (tabswitcherplugin MODULE "") target_compile_definitions(tabswitcherplugin PRIVATE TRANSLATION_DOMAIN="tabswitcherplugin") - -target_link_libraries( - tabswitcherplugin - PRIVATE - KF5::TextEditor - KF5::IconThemes - KF5::I18n - KF5::Service -) +target_link_libraries(tabswitcherplugin PRIVATE KF5::TextEditor) target_sources( tabswitcherplugin diff --git a/addons/tabswitcher/autotests/CMakeLists.txt b/addons/tabswitcher/autotests/CMakeLists.txt --- a/addons/tabswitcher/autotests/CMakeLists.txt +++ b/addons/tabswitcher/autotests/CMakeLists.txt @@ -3,6 +3,7 @@ add_executable(tabswitcher_test "") target_include_directories(tabswitcher_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) +find_package(Qt5Test QUIET REQUIRED) target_link_libraries( tabswitcher_test PRIVATE diff --git a/addons/textfilter/CMakeLists.txt b/addons/textfilter/CMakeLists.txt --- a/addons/textfilter/CMakeLists.txt +++ b/addons/textfilter/CMakeLists.txt @@ -7,15 +7,7 @@ add_library(textfilterplugin MODULE ${textfilterplugin_PART_SRCS}) target_compile_definitions(textfilterplugin PRIVATE TRANSLATION_DOMAIN="katetextfilter") - -target_link_libraries( - textfilterplugin - PRIVATE - KF5::TextEditor - KF5::IconThemes - KF5::I18n - KF5::Service -) +target_link_libraries(textfilterplugin PRIVATE KF5::TextEditor) kcoreaddons_desktop_to_json(textfilterplugin textfilterplugin.desktop) install(TARGETS textfilterplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/xmlcheck/CMakeLists.txt b/addons/xmlcheck/CMakeLists.txt --- a/addons/xmlcheck/CMakeLists.txt +++ b/addons/xmlcheck/CMakeLists.txt @@ -5,16 +5,7 @@ add_library(katexmlcheckplugin MODULE ${katexmlcheckplugin_PART_SRCS}) target_compile_definitions(katexmlcheckplugin PRIVATE TRANSLATION_DOMAIN="katexmlcheck") - -target_link_libraries( - katexmlcheckplugin - PRIVATE - KF5::TextEditor - KF5::Parts - KF5::IconThemes - KF5::I18n - KF5::Service -) +target_link_libraries(katexmlcheckplugin PRIVATE KF5::TextEditor) target_sources( katexmlcheckplugin diff --git a/addons/xmltools/CMakeLists.txt b/addons/xmltools/CMakeLists.txt --- a/addons/xmltools/CMakeLists.txt +++ b/addons/xmltools/CMakeLists.txt @@ -5,16 +5,7 @@ add_library(katexmltoolsplugin MODULE ${katexmltoolsplugin_PART_SRCS}) target_compile_definitions(katexmltoolsplugin PRIVATE TRANSLATION_DOMAIN="katexmltools") - -target_link_libraries( - katexmltoolsplugin - PRIVATE - KF5::TextEditor - KF5::Parts - KF5::IconThemes - KF5::I18n - KF5::Service -) +target_link_libraries(katexmltoolsplugin PRIVATE KF5::TextEditor) target_sources( katexmltoolsplugin