diff --git a/addons/CMakeLists.txt b/addons/CMakeLists.txt index 68a6f1a2d..b8d8b7f8f 100644 --- a/addons/CMakeLists.txt +++ b/addons/CMakeLists.txt @@ -1,26 +1,26 @@ # Most plugins will need to link against KF5TextEditor to have access to its plugin interface. -find_package(KF5TextEditor QUIET REQUIRED) +find_package(KF5TextEditor ${KF5_DEP_VERSION} 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(externaltools) 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(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(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(tabswitcher) # ALT+Tab like tab switcher. ecm_optional_add_subdirectory(textfilter) # Pipe text through some external command. ecm_optional_add_subdirectory(xmlcheck) # XML Validation plugin ecm_optional_add_subdirectory(xmltools) # XML completion diff --git a/addons/backtracebrowser/autotests/CMakeLists.txt b/addons/backtracebrowser/autotests/CMakeLists.txt index cea0093ea..17542e086 100644 --- a/addons/backtracebrowser/autotests/CMakeLists.txt +++ b/addons/backtracebrowser/autotests/CMakeLists.txt @@ -1,20 +1,20 @@ include(ECMMarkAsTest) add_executable(btbrowser_test "") target_include_directories(btbrowser_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) -find_package(Qt5Test QUIET REQUIRED) +find_package(Qt5Test ${QT_MIN_VERSION} QUIET REQUIRED) target_link_libraries( btbrowser_test PRIVATE Qt5::Widgets Qt5::Test ) target_sources(btbrowser_test PRIVATE btbrowsertest.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../btparser.cpp ) add_test(NAME plugin-btbrowser_test COMMAND btbrowser_test) ecm_mark_as_test(btbrowser_test) diff --git a/addons/close-except-like/CMakeLists.txt b/addons/close-except-like/CMakeLists.txt index fce5ef292..f89f6d379 100644 --- a/addons/close-except-like/CMakeLists.txt +++ b/addons/close-except-like/CMakeLists.txt @@ -1,30 +1,30 @@ -find_package(KF5IconThemes QUIET) +find_package(KF5IconThemes ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5IconThemes PROPERTIES PURPOSE "Required to build the close-except-like addon") if(NOT KF5IconThemes_FOUND) return() endif() add_library(katecloseexceptplugin MODULE "") target_compile_definitions(katecloseexceptplugin PRIVATE TRANSLATION_DOMAIN="katecloseexceptplugin") target_link_libraries( katecloseexceptplugin PRIVATE KF5::TextEditor KF5::IconThemes ) ki18n_wrap_ui(UI_SOURCES close_confirm_dialog.ui) target_sources(katecloseexceptplugin PRIVATE ${UI_SOURCES}) target_sources( katecloseexceptplugin PRIVATE close_confirm_dialog.cpp close_except_plugin.cpp plugin.qrc ) kcoreaddons_desktop_to_json(katecloseexceptplugin katecloseexceptplugin.desktop) install(TARGETS katecloseexceptplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/externaltools/CMakeLists.txt b/addons/externaltools/CMakeLists.txt index a7b8cfa11..00892f768 100644 --- a/addons/externaltools/CMakeLists.txt +++ b/addons/externaltools/CMakeLists.txt @@ -1,49 +1,49 @@ if(${KF5TextEditor_VERSION} VERSION_LESS "5.63.0") return() endif() -find_package(KF5I18n QUIET) +find_package(KF5I18n ${KF5_DEP_VERSION} QUIET) if(NOT KF5I18n_FOUND) return() endif() -find_package(KF5IconThemes QUIET) +find_package(KF5IconThemes ${KF5_DEP_VERSION} QUIET) if(NOT KF5IconThemes_FOUND) return() endif() -find_package(Qt5Test QUIET REQUIRED) +find_package(Qt5Test ${QT_MIN_VERSION} QUIET REQUIRED) add_library(externaltoolsplugin MODULE "") target_compile_definitions(externaltoolsplugin PRIVATE TRANSLATION_DOMAIN="kateexternaltoolsplugin") target_link_libraries(externaltoolsplugin PRIVATE KF5::CoreAddons KF5::IconThemes KF5::TextEditor KF5::I18n ) ki18n_wrap_ui(UI_SOURCES configwidget.ui tooldialog.ui toolview.ui ) target_sources( externaltoolsplugin PRIVATE externaltoolsplugin.cpp kateexternaltoolsview.cpp katetoolrunner.cpp kateexternaltool.cpp kateexternaltoolscommand.cpp kateexternaltoolsconfigwidget.cpp plugin.qrc ${UI_SOURCES} ) kcoreaddons_desktop_to_json (externaltoolsplugin externaltoolsplugin.desktop) install(TARGETS externaltoolsplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor ) if (BUILD_TESTING) add_subdirectory(autotests) endif() diff --git a/addons/externaltools/autotests/CMakeLists.txt b/addons/externaltools/autotests/CMakeLists.txt index d354af179..c6e8bce2d 100644 --- a/addons/externaltools/autotests/CMakeLists.txt +++ b/addons/externaltools/autotests/CMakeLists.txt @@ -1,21 +1,21 @@ include(ECMMarkAsTest) -find_package(KF5Config QUIET) # KConfig, KConfigGroup +find_package(KF5Config ${KF5_DEP_VERSION} QUIET) # KConfig, KConfigGroup if(NOT KF5Config_FOUND) return() endif() -find_package(KF5CoreAddons QUIET) # KShell +find_package(KF5CoreAddons ${KF5_DEP_VERSION} QUIET) # KShell if(NOT KF5CoreAddons_FOUND) return() endif() # Project Plugin add_executable(externaltools_test externaltooltest.cpp ../kateexternaltool.cpp ../katetoolrunner.cpp ) add_test(NAME plugin-externaltools_test COMMAND externaltools_test) target_link_libraries(externaltools_test PRIVATE Qt5::Test KF5::ConfigCore KF5::CoreAddons KF5::TextEditor) ecm_mark_as_test(externaltools_test) diff --git a/addons/filebrowser/CMakeLists.txt b/addons/filebrowser/CMakeLists.txt index 0e181d780..03590fcb1 100644 --- a/addons/filebrowser/CMakeLists.txt +++ b/addons/filebrowser/CMakeLists.txt @@ -1,28 +1,28 @@ -find_package(KF5KIO QUIET) +find_package(KF5KIO ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5KIO PROPERTIES PURPOSE "Required to build the filebrowser addon") if(NOT KF5KIO_FOUND) return() endif() add_library(katefilebrowserplugin MODULE "") target_compile_definitions(katefilebrowserplugin PRIVATE TRANSLATION_DOMAIN="katefilebrowserplugin") target_link_libraries( katefilebrowserplugin PRIVATE KF5::TextEditor KF5::KIOFileWidgets ) target_sources( katefilebrowserplugin PRIVATE katefilebrowserplugin.cpp katefilebrowserconfig.cpp katefilebrowser.cpp katebookmarkhandler.cpp ) kcoreaddons_desktop_to_json(katefilebrowserplugin katefilebrowserplugin.desktop) install(TARGETS katefilebrowserplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/filetree/CMakeLists.txt b/addons/filetree/CMakeLists.txt index a1ea84f54..8e0ac31df 100644 --- a/addons/filetree/CMakeLists.txt +++ b/addons/filetree/CMakeLists.txt @@ -1,35 +1,35 @@ -find_package(KF5GuiAddons QUIET) +find_package(KF5GuiAddons ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5GuiAddons PROPERTIES PURPOSE "Required to build the katefiletree addon") if(NOT KF5GuiAddons_FOUND) return() endif() add_library(katefiletreeplugin MODULE "") target_compile_definitions(katefiletreeplugin PRIVATE TRANSLATION_DOMAIN="katefiletree") target_link_libraries( katefiletreeplugin PUBLIC KF5::TextEditor KF5::GuiAddons ) target_sources( katefiletreeplugin PRIVATE katefiletree.cpp katefiletreeconfigpage.cpp katefiletreemodel.cpp katefiletreeplugin.cpp katefiletreepluginsettings.cpp katefiletreeproxymodel.cpp plugin.qrc ) kcoreaddons_desktop_to_json(katefiletreeplugin katefiletreeplugin.desktop) install(TARGETS katefiletreeplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) if(BUILD_TESTING) add_subdirectory(autotests) endif() diff --git a/addons/filetree/autotests/CMakeLists.txt b/addons/filetree/autotests/CMakeLists.txt index 6f85f07d7..a9b23c81e 100644 --- a/addons/filetree/autotests/CMakeLists.txt +++ b/addons/filetree/autotests/CMakeLists.txt @@ -1,24 +1,24 @@ include(ECMMarkAsTest) add_executable(filetree_model_test "") target_include_directories(filetree_model_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) -find_package(Qt5Test QUIET REQUIRED) +find_package(Qt5Test ${QT_MIN_VERSION} QUIET REQUIRED) target_link_libraries( filetree_model_test PRIVATE KF5::GuiAddons KF5::TextEditor Qt5::Test ) target_sources( filetree_model_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../katefiletreemodel.cpp filetree_model_test.cpp document_dummy.cpp ) add_test(NAME kateapp-filetree_model_test COMMAND filetree_model_test) ecm_mark_as_test(filetree_model_test) diff --git a/addons/katesql/CMakeLists.txt b/addons/katesql/CMakeLists.txt index a548130df..f7079169a 100644 --- a/addons/katesql/CMakeLists.txt +++ b/addons/katesql/CMakeLists.txt @@ -1,45 +1,45 @@ -find_package(KF5Wallet QUIET) +find_package(KF5Wallet ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5Wallet PROPERTIES PURPOSE "Required to build the katesql addon") -find_package(Qt5Sql QUIET) +find_package(Qt5Sql ${QT_MIN_VERSION} 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 "") target_compile_definitions(katesqlplugin PRIVATE TRANSLATION_DOMAIN="katesql") target_link_libraries( katesqlplugin PRIVATE KF5::TextEditor KF5::Wallet 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) diff --git a/addons/lspclient/CMakeLists.txt b/addons/lspclient/CMakeLists.txt index 3eb0f279e..c8cf065f9 100644 --- a/addons/lspclient/CMakeLists.txt +++ b/addons/lspclient/CMakeLists.txt @@ -1,49 +1,49 @@ -find_package(KF5ItemModels QUIET) +find_package(KF5ItemModels ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5ItemModels PROPERTIES PURPOSE "Required to build the lspclient addon") if(NOT KF5ItemModels_FOUND) return() endif() add_library(lspclientplugin MODULE "") target_compile_definitions(lspclientplugin PRIVATE TRANSLATION_DOMAIN="lspclient") ki18n_wrap_ui(UI_SOURCES lspconfigwidget.ui) target_link_libraries( lspclientplugin PRIVATE KF5::ItemModels KF5::TextEditor ) include(ECMQtDeclareLoggingCategory) ecm_qt_declare_logging_category( DEBUG_SOURCES HEADER lspclient_debug.h IDENTIFIER LSPCLIENT CATEGORY_NAME "katelspclientplugin" ) target_sources(lspclientplugin PRIVATE ${DEBUG_SOURCES}) target_sources( lspclientplugin PRIVATE lspclientcompletion.cpp lspclientconfigpage.cpp lspclienthover.cpp lspclientplugin.cpp lspclientpluginview.cpp lspclientserver.cpp lspclientservermanager.cpp lspclientsymbolview.cpp plugin.qrc ${UI_SOURCES} ) kcoreaddons_desktop_to_json(lspclientplugin lspclientplugin.desktop) install(TARGETS lspclientplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) if(BUILD_TESTING) add_subdirectory(tests) endif() diff --git a/addons/project/CMakeLists.txt b/addons/project/CMakeLists.txt index cdc9f6946..54b87b190 100644 --- a/addons/project/CMakeLists.txt +++ b/addons/project/CMakeLists.txt @@ -1,71 +1,71 @@ find_package( - KF5 + KF5 ${KF5_DEP_VERSION} 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::GuiAddons 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() target_sources( kateprojectplugin PRIVATE fileutil.cpp kateprojectplugin.cpp kateprojectpluginview.cpp kateproject.cpp kateprojectworker.cpp kateprojectitem.cpp kateprojectview.cpp kateprojectviewtree.cpp kateprojecttreeviewcontextmenu.cpp kateprojectinfoview.cpp kateprojectcompletion.cpp kateprojectindex.cpp kateprojectinfoviewindex.cpp kateprojectinfoviewterminal.cpp kateprojectinfoviewcodeanalysis.cpp kateprojectinfoviewnotes.cpp kateprojectconfigpage.cpp kateprojectcodeanalysistool.cpp tools/kateprojectcodeanalysistoolcppcheck.cpp tools/kateprojectcodeanalysistoolflake8.cpp tools/kateprojectcodeanalysistoolshellcheck.cpp tools/kateprojectcodeanalysisselector.cpp plugin.qrc ) kcoreaddons_desktop_to_json(kateprojectplugin kateprojectplugin.desktop) install(TARGETS kateprojectplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) install(FILES kateproject.example DESTINATION ${DATA_INSTALL_DIR}/kateproject) if(BUILD_TESTING) add_subdirectory(autotests) endif() diff --git a/addons/project/autotests/CMakeLists.txt b/addons/project/autotests/CMakeLists.txt index 0ef06829e..4a1fc3f6c 100644 --- a/addons/project/autotests/CMakeLists.txt +++ b/addons/project/autotests/CMakeLists.txt @@ -1,24 +1,24 @@ include(ECMMarkAsTest) add_executable(projectplugin_test "") target_include_directories(projectplugin_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) -find_package(Qt5Test QUIET REQUIRED) +find_package(Qt5Test ${QT_MIN_VERSION} QUIET REQUIRED) target_link_libraries( projectplugin_test PRIVATE KF5::TextEditor Qt5::Test ) target_sources( projectplugin_test PRIVATE test1.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../fileutil.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../kateprojectcodeanalysistool.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../tools/kateprojectcodeanalysistoolshellcheck.cpp ) add_test(NAME plugin-project_test COMMAND projectplugin_test) ecm_mark_as_test(projectplugin_test) diff --git a/addons/replicode/CMakeLists.txt b/addons/replicode/CMakeLists.txt index be28ad72f..c6a677e68 100644 --- a/addons/replicode/CMakeLists.txt +++ b/addons/replicode/CMakeLists.txt @@ -1,33 +1,33 @@ -find_package(KF5IconThemes QUIET) +find_package(KF5IconThemes ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5IconThemes PROPERTIES PURPOSE "Required to build the replicode addon") if(NOT KF5IconThemes_FOUND) return() endif() add_library(katereplicodeplugin MODULE "") target_compile_definitions(katereplicodeplugin PRIVATE TRANSLATION_DOMAIN="kate-replicode-plugin") target_link_libraries( katereplicodeplugin PRIVATE KF5::TextEditor KF5::IconThemes ) ki18n_wrap_ui(UI_SOURCES config.ui) target_sources(katereplicodeplugin PRIVATE ${UI_SOURCES}) target_sources( katereplicodeplugin PRIVATE replicodeplugin.cpp replicodeconfigpage.cpp replicodeconfig.cpp replicodesettings.cpp replicodeview.cpp plugin.qrc ) kcoreaddons_desktop_to_json(katereplicodeplugin katereplicodeplugin.desktop) install(TARGETS katereplicodeplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/search/CMakeLists.txt b/addons/search/CMakeLists.txt index a8a7f57ca..df51831a4 100644 --- a/addons/search/CMakeLists.txt +++ b/addons/search/CMakeLists.txt @@ -1,34 +1,34 @@ -find_package(KF5ItemViews QUIET) +find_package(KF5ItemViews ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5ItemViews PROPERTIES PURPOSE "Required to build the search addon") if(NOT KF5ItemViews_FOUND) return() endif() add_library(katesearchplugin MODULE "") target_compile_definitions(katesearchplugin PRIVATE TRANSLATION_DOMAIN="katesearch") target_link_libraries( katesearchplugin PRIVATE KF5::ItemViews KF5::TextEditor ) ki18n_wrap_ui(UI_SOURCES search.ui results.ui) target_sources(katesearchplugin PRIVATE ${UI_SOURCES}) target_sources( katesearchplugin PRIVATE plugin_search.cpp search_open_files.cpp SearchDiskFiles.cpp FolderFilesList.cpp replace_matches.cpp htmldelegate.cpp plugin.qrc ) kcoreaddons_desktop_to_json(katesearchplugin katesearch.desktop) install(TARGETS katesearchplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/sessionapplet/CMakeLists.txt b/addons/sessionapplet/CMakeLists.txt index 053bbf688..4cf6f3606 100644 --- a/addons/sessionapplet/CMakeLists.txt +++ b/addons/sessionapplet/CMakeLists.txt @@ -1,36 +1,36 @@ -find_package(KF5Plasma QUIET) +find_package(KF5Plasma ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5Plasma PROPERTIES PURPOSE "Required to build the sessionapplet addon") -find_package(Qt5Widgets QUIET) +find_package(Qt5Widgets ${QT_MIN_VERSION} 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 "") 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) 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/snippets/CMakeLists.txt b/addons/snippets/CMakeLists.txt index 845d8d43d..4f8cea8bf 100644 --- a/addons/snippets/CMakeLists.txt +++ b/addons/snippets/CMakeLists.txt @@ -1,38 +1,38 @@ -find_package(KF5NewStuff QUIET) +find_package(KF5NewStuff ${KF5_DEP_VERSION} QUIET) set_package_properties(KF5NewStuff PROPERTIES PURPOSE "Required to build the snippets addon") if(NOT KF5NewStuff_FOUND) return() endif() add_library(katesnippetsplugin MODULE "") target_compile_definitions(katesnippetsplugin PRIVATE TRANSLATION_DOMAIN="katesnippetsplugin") target_link_libraries( katesnippetsplugin PRIVATE KF5::NewStuff KF5::TextEditor ) ki18n_wrap_ui(UI_SOURCES snippetview.ui editrepository.ui editsnippet.ui) target_sources(katesnippetsplugin PRIVATE ${UI_SOURCES}) target_sources( katesnippetsplugin PRIVATE katesnippets.cpp katesnippetglobal.cpp snippetview.cpp snippetstore.cpp snippetrepository.cpp snippetcompletionmodel.cpp snippetcompletionitem.cpp snippet.cpp editrepository.cpp editsnippet.cpp plugin.qrc ) kcoreaddons_desktop_to_json(katesnippetsplugin katesnippetsplugin.desktop) install(TARGETS katesnippetsplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor) diff --git a/addons/tabswitcher/autotests/CMakeLists.txt b/addons/tabswitcher/autotests/CMakeLists.txt index e1a953670..35f80fc76 100644 --- a/addons/tabswitcher/autotests/CMakeLists.txt +++ b/addons/tabswitcher/autotests/CMakeLists.txt @@ -1,22 +1,22 @@ include(ECMMarkAsTest) add_executable(tabswitcher_test "") target_include_directories(tabswitcher_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..) -find_package(Qt5Test QUIET REQUIRED) +find_package(Qt5Test ${QT_MIN_VERSION} QUIET REQUIRED) target_link_libraries( tabswitcher_test PRIVATE KF5::TextEditor Qt5::Test ) target_sources( tabswitcher_test PRIVATE tabswitchertest.cpp ../tabswitcherfilesmodel.cpp ) add_test(NAME plugin-tabswitcher_test COMMAND tabswitcher_test) ecm_mark_as_test(tabswitcher_test) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index d1ffed20f..2a0b10cc7 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,9 +1,9 @@ -find_package(KF5DocTools QUIET) +find_package(KF5DocTools ${KF5_DEP_VERSION} QUIET) if(NOT KF5DocTools_FOUND) return() endif() ecm_optional_add_subdirectory(kate) ecm_optional_add_subdirectory(katepart) ecm_optional_add_subdirectory(kwrite) diff --git a/kate/CMakeLists.txt b/kate/CMakeLists.txt index bdc67bf4e..a92d0da31 100644 --- a/kate/CMakeLists.txt +++ b/kate/CMakeLists.txt @@ -1,168 +1,168 @@ # We use an intermediate static library because linking tests directly to an executable is not # possible with CMake yet. add_library(kate-lib STATIC "") configure_file(config.h.in config.h) include(GenerateExportHeader) generate_export_header( kate-lib EXPORT_FILE_NAME katetests_export.h EXPORT_MACRO_NAME KATE_TESTS_EXPORT ) target_include_directories( kate-lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/session ${CMAKE_CURRENT_SOURCE_DIR}/qtsingleapplication ${CMAKE_CURRENT_BINARY_DIR} # katetests_export.h + config.h ) find_package( - KF5 + KF5 ${KF5_DEP_VERSION} QUIET REQUIRED COMPONENTS TextEditor IconThemes WindowSystem DBusAddons Crash OPTIONAL_COMPONENTS Activities ) target_link_libraries( kate-lib PUBLIC KF5::TextEditor KF5::IconThemes KF5::WindowSystem KF5::DBusAddons KF5::Crash ) if(KF5Activities_FOUND) target_link_libraries(kate-lib PUBLIC KF5::Activities) endif() ki18n_wrap_ui(UI_SOURCES ui/sessionconfigwidget.ui session/katesessionmanagedialog.ui) target_sources(kate-lib PRIVATE ${UI_SOURCES}) set(ICONS_PNG ${CMAKE_CURRENT_SOURCE_DIR}/icons/16-apps-kate.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/22-apps-kate.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/32-apps-kate.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/48-apps-kate.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/64-apps-kate.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/128-apps-kate.png ) set(ICONS_SVG ${CMAKE_CURRENT_SOURCE_DIR}/icons/sc-apps-kate.svgz) # Add icon files to the application's source files to have CMake bundle them in the executable. ecm_add_app_icon(ICONS_SOURCES ICONS ${ICONS_PNG}) target_sources(kate-lib PRIVATE ${ICONS_SOURCES}) target_sources( kate-lib PRIVATE data/kate.qrc session/katesession.cpp session/katesessionmanagedialog.cpp session/katesessionmanager.cpp session/katesessionsaction.cpp kateapp.cpp kateappadaptor.cpp katecolorschemechooser.cpp kateconfigdialog.cpp kateconfigplugindialogpage.cpp katedocmanager.cpp katefileactions.cpp katemainwindow.cpp katemdi.cpp katemwmodonhddialog.cpp katepluginmanager.cpp katequickopen.cpp katequickopenmodel.cpp katerunninginstanceinfo.cpp katesavemodifieddialog.cpp katetabbar.cpp katetabbutton.cpp kateviewmanager.cpp kateviewspace.cpp katewaiter.cpp ) # Use a single application on MacOS + Windows instead of dbus. if(APPLE OR WIN32) target_compile_definitions(kate-lib PRIVATE USE_QT_SINGLE_APP) target_sources( kate-lib PRIVATE qtsingleapplication/qtlocalpeer.cpp qtsingleapplication/qtsingleapplication.cpp qtsingleapplication/qtlockedfile.cpp ) if(WIN32) target_sources(kate-lib PRIVATE qtsingleapplication/qtlockedfile_win.cpp) else() target_sources(kate-lib PRIVATE qtsingleapplication/qtlockedfile_unix.cpp) endif() endif() # Executable only adds the main definition. add_executable(kate-bin main.cpp) target_link_libraries(kate-bin PRIVATE kate-lib) set_property( TARGET kate-bin PROPERTY OUTPUT_NAME kate ) # See https://cmake.org/cmake/help/v3.15/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.html if(APPLE) set_property( TARGET kate-bin PROPERTY MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/data/MacOSXBundleInfo.plist.in ) # These are substituted by CMake into plist.in. set(MACOSX_BUNDLE_DISPLAY_NAME "Kate") set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.Kate") set(MACOSX_BUNDLE_BUNDLE_NAME "Kate") set(MACOSX_BUNDLE_DISPLAY_NAME "Kate") set(MACOSX_BUNDLE_INFO_STRING "Kate - Advanced Text Editor") set(MACOSX_BUNDLE_LONG_VERSION_STRING "Kate ${KDE_APPLICATIONS_VERSION}") set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}") set(MACOSX_BUNDLE_BUNDLE_VERSION "${KDE_APPLICATIONS_VERSION}") set(MACOSX_BUNDLE_COPYRIGHT "2000-2016 The Kate Authors") endif() install(TARGETS kate-bin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) ecm_install_icons( ICONS ${ICONS_PNG} ${ICONS_SVG} DESTINATION ${ICON_INSTALL_DIR} THEME hicolor ) install( PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/data/org.kde.kate.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/org.kde.kate.appdata.xml DESTINATION ${CMAKE_INSTALL_METAINFODIR} ) if(BUILD_TESTING) add_subdirectory(autotests) endif() diff --git a/kate/autotests/CMakeLists.txt b/kate/autotests/CMakeLists.txt index 511da575c..00c06fd9d 100644 --- a/kate/autotests/CMakeLists.txt +++ b/kate/autotests/CMakeLists.txt @@ -1,25 +1,25 @@ include(ECMMarkAsTest) -find_package(Qt5Test QUIET REQUIRED) +find_package(Qt5Test ${QT_MIN_VERSION} QUIET REQUIRED) macro(kate_executable_tests) foreach(_testname ${ARGN}) add_executable(${_testname} ${_testname}.cpp) target_link_libraries( ${_testname} PRIVATE kate-lib Qt5::Test ) add_test(NAME kateapp-${_testname} COMMAND ${_testname}) ecm_mark_as_test(${_testname}) endforeach() endmacro() kate_executable_tests( session_test session_manager_test sessions_action_test ) diff --git a/kwrite/CMakeLists.txt b/kwrite/CMakeLists.txt index 898ccd993..87749c7d3 100644 --- a/kwrite/CMakeLists.txt +++ b/kwrite/CMakeLists.txt @@ -1,88 +1,88 @@ add_executable(kwrite "") configure_file(config.h.in config.h) target_include_directories(kwrite PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) # config.h find_package( - KF5 + KF5 ${KF5_DEP_VERSION} QUIET REQUIRED COMPONENTS TextEditor DBusAddons Crash OPTIONAL_COMPONENTS Activities ) target_link_libraries( kwrite PUBLIC KF5::TextEditor KF5::DBusAddons KF5::Crash ) if(KF5Activities_FOUND) target_link_libraries(kwrite PUBLIC KF5::Activities) endif() set(ICONS_PNG ${CMAKE_CURRENT_SOURCE_DIR}/icons/16-apps-kwrite.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/22-apps-kwrite.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/32-apps-kwrite.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/48-apps-kwrite.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/64-apps-kwrite.png ${CMAKE_CURRENT_SOURCE_DIR}/icons/128-apps-kwrite.png ) set(ICONS_SVG ${CMAKE_CURRENT_SOURCE_DIR}/icons/sc-apps-kwrite.svgz) # Add icon files to the application's source files to have CMake bundle them in the executable. ecm_add_app_icon(ICONS_SOURCES ICONS ${ICONS_PNG}) target_sources(kwrite PRIVATE ${ICONS_SOURCES}) target_sources( kwrite PRIVATE data/kwrite.qrc kwrite.cpp kwriteapplication.cpp main.cpp ) # See https://cmake.org/cmake/help/v3.15/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.html if(APPLE) set_property( TARGET kwrite PROPERTY MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/data/MacOSXBundleInfo.plist.in ) # These are substituted by CMake into plist.in. set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.KWrite") set(MACOSX_BUNDLE_BUNDLE_NAME "KWrite") set(MACOSX_BUNDLE_DISPLAY_NAME "KWrite") set(MACOSX_BUNDLE_INFO_STRING "KWrite - Text Editor") set(MACOSX_BUNDLE_LONG_VERSION_STRING "KWrite ${KDE_APPLICATIONS_VERSION}") set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}") set(MACOSX_BUNDLE_BUNDLE_VERSION "${KDE_APPLICATIONS_VERSION}") set(MACOSX_BUNDLE_COPYRIGHT "2000-2016 The KWrite Authors") endif() install(TARGETS kwrite ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/org.kde.kwrite.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/org.kde.kwrite.appdata.xml DESTINATION ${CMAKE_INSTALL_METAINFODIR} ) ecm_install_icons( ICONS ${ICONS_PNG} ${ICONS_SVG} DESTINATION ${ICON_INSTALL_DIR} THEME hicolor )