X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2FCMakeLists.txt;h=335a27d06975e7c32af2ea2db9b05f0e88418285;hp=077ff051da2a63c212052ae9c89fd16362bf3fe4;hb=refs%2Fheads%2Fmaster;hpb=597b6f74d41343f57e288694ec499e2303022f7e diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 077ff05..ac2b39c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,6 @@ -# Copyright © 2022 Soren Stoutner . +# Copyright 2022-2024 Soren Stoutner . # -# This file is part of Privacy Browser PC . +# This file is part of Privacy Browser PC . # # Privacy Browser PC is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,34 +18,101 @@ # Create the executable and add the resources. add_executable(privacybrowser resources.qrc) +# List the sources to include in the executable. target_sources(privacybrowser PRIVATE main.cpp - mainwindow.cpp - privacybrowserpcview.cpp ) +# Add the Qt logging category. This will create the `debug.h` header file. ecm_qt_declare_logging_category(privacybrowser - HEADER privacybrowserpcdebug.h + HEADER debug.h IDENTIFIER PRIVACYBROWSER CATEGORY_NAME "privacybrowser" ) -kconfig_add_kcfg_files(privacybrowser PrivacyBrowserPCSettings.kcfgc) + +# Include the KConfig controller file. +kconfig_add_kcfg_files(privacybrowser settings/Settings.kcfgc) + +# Use KDE Frameworks to handle internationalization of the following UI files. ki18n_wrap_ui(privacybrowser - privacybrowserpcview.ui - settings.ui + uis/AddBookmarkDialog.ui + uis/AddFolderDialog.ui + uis/AddOrEditCookieDialog.ui + uis/AddTabWidget.ui + uis/BookmarksDialog.ui + uis/CookiesDialog.ui + uis/DomainSettingsDialog.ui + uis/DurableCookiesDialog.ui + uis/EditBookmarkDialog.ui + uis/EditFolderDialog.ui + uis/FilterListsDialog.ui + uis/HttpAuthenticationDialog.ui + uis/RequestDetailDialog.ui + uis/RequestsDialog.ui + uis/SaveDialog.ui + uis/SettingsGeneral.ui + uis/SettingsPrivacy.ui + uis/SettingsSpellCheck.ui + uis/TabWidget.ui ) +# Link the following libraries. target_link_libraries(privacybrowser + Qt5::Core + Qt5::Gui + Qt5::Sql + Qt5::PrintSupport + Qt5::Widgets + Qt5::WebEngineCore + Qt5::WebEngineWidgets + KF5::Completion + KF5::ConfigWidgets KF5::CoreAddons + KF5::Crash + KF5::DBusAddons + KF5::DocTools KF5::I18n + KF5::Notifications + KF5::KIOCore + KF5::KIOWidgets KF5::XmlGui - KF5::ConfigWidgets - KF5::DBusAddons - KF5::Crash - Qt5::Widgets ) +# Add the subdirectories. +add_subdirectory(databases) +add_subdirectory(delegates) +add_subdirectory(dialogs) +add_subdirectory(filters) +add_subdirectory(helpers) +add_subdirectory(interceptors) +add_subdirectory(ui.rcs) +add_subdirectory(widgets) +add_subdirectory(windows) + +# Install Privacy Browser using the default KDE arguments. install(TARGETS privacybrowser ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) -install(PROGRAMS com.stoutner.privacybrowser DESTINATION ${KDE_INSTALL_APPDIR}) -install(FILES com.stounter.privacybrowser.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) -install(FILES privacybrowserpcui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/privacybrowser) # TODO + +# Install Privacy Browser according to the instructions in the desktop file, specifying the permissions. +install(PROGRAMS com.stoutner.privacybrowser.desktop DESTINATION ${KDE_INSTALL_APPDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) + +# Install the metadata file. +install(FILES com.stoutner.privacybrowser.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) + +# Install the notifyrc file. +install(FILES privacybrowser.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR}) + +# Install the standard icons. +ecm_install_icons(ICONS icons/sc-apps-privacybrowser.svg DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/16-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/22-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/24-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/32-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/48-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/64-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/128-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/256-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/512-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) +ecm_install_icons(ICONS icons/1024-apps-privacybrowser.png DESTINATION ${KDE_INSTALL_ICONDIR}) + +# Install the symbolic icon (used by Gnome). +install(FILES icons/privacybrowser-symbolic.svg DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/symbolic/apps/)