X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2FCMakeLists.txt;h=d80c89d7ca56e3fde102f18fe7c8ab14a0ff5d9a;hp=709b74ca16e6f9d88746142cce3062097e4bde32;hb=HEAD;hpb=bbc06827f4301381ee3882000abbba147607aa35 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 709b74c..799c44e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,81 +1,120 @@ -# Copyright © 2022 Soren Stoutner . +# SPDX-License-Identifier: GPL-3.0-or-later +# SPDX-FileCopyrightText: 2022-2025 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 -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. # -# Privacy Browser PC is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. # -# You should have received a copy of the GNU General Public License -# along with Privacy Browser PC. If not, see . +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . # Create the executable and add the resources. -add_executable(privacy-browser resources.qrc) +add_executable(privacybrowser resources.qrc) # List the sources to include in the executable. -target_sources(privacy-browser PRIVATE +target_sources(privacybrowser PRIVATE main.cpp - MouseEventFilter.cpp ) # Add the Qt logging category. This will create the `debug.h` header file. -ecm_qt_declare_logging_category(privacy-browser +ecm_qt_declare_logging_category(privacybrowser HEADER debug.h IDENTIFIER PRIVACYBROWSER CATEGORY_NAME "privacybrowser" ) # Include the KConfig controller file. -kconfig_add_kcfg_files(privacy-browser Settings.kcfgc) +kconfig_add_kcfg_files(privacybrowser settings/Settings.kcfgc) # Use KDE Frameworks to handle internationalization of the following UI files. -ki18n_wrap_ui(privacy-browser - BrowserView.ui - DomainSettingsDialog.ui - SettingsGeneral.ui - SettingsPrivacy.ui +ki18n_wrap_ui(privacybrowser + 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/FilterEntryDialog.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(privacy-browser - Qt5::Core - Qt5::Gui - Qt5::Sql - Qt5::Widgets - Qt5::WebEngineCore - Qt5::WebEngineWidgets - KF5::Completion - KF5::ConfigWidgets - KF5::CoreAddons - KF5::Crash - KF5::DBusAddons - KF5::DocTools - KF5::I18n - KF5::XmlGui +target_link_libraries(privacybrowser + Qt6::Core + Qt6::Gui + Qt6::Sql + Qt6::PrintSupport + Qt6::Widgets + Qt6::WebEngineCore + Qt6::WebEngineWidgets + KF6::Completion + KF6::ConfigWidgets + KF6::CoreAddons + KF6::Crash + KF6::DBusAddons + KF6::DocTools + KF6::I18n + KF6::Notifications + KF6::KIOCore + KF6::KIOWidgets + KF6::XmlGui ) # Add the subdirectories. +add_subdirectory(databases) +add_subdirectory(delegates) add_subdirectory(dialogs) +add_subdirectory(filters) add_subdirectory(helpers) add_subdirectory(interceptors) -add_subdirectory(ui.rc) -add_subdirectory(views) +add_subdirectory(ui.rcs) +add_subdirectory(widgets) add_subdirectory(windows) # Install Privacy Browser using the default KDE arguments. -install(TARGETS privacy-browser ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) +install(TARGETS privacybrowser ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) # 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 Privacy Browser's metadata file. -install(FILES com.stoutner.privacybrowser.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) +# Install the metainfo file. +install(FILES com.stoutner.privacybrowser.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) -# Install Privacy Browser's icon. -ecm_install_icons(ICONS icons/sc-apps-privacy-browser.svg DESTINATION ${KDE_INSTALL_ICONDIR}) +# 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/)