# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2022-2025 Soren Stoutner # # This file is part of Privacy Browser PC . # # 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. # # 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 # this program. If not, see . # 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 ) # Add the Qt logging category. This will create the `debug.h` header file. ecm_qt_declare_logging_category(privacybrowser HEADER debug.h IDENTIFIER PRIVACYBROWSER CATEGORY_NAME "privacybrowser" ) # 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 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(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.rcs) add_subdirectory(widgets) add_subdirectory(windows) # Install Privacy Browser using the default KDE arguments. 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 the metainfo file. install(FILES com.stoutner.privacybrowser.metainfo.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/)