1 # Copyright 2022-2023 Soren Stoutner <soren@stoutner.com>.
3 # This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
5 # Privacy Browser PC is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
10 # Privacy Browser PC is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with Privacy Browser PC. If not, see <http://www.gnu.org/licenses/>.
18 # Create the executable and add the resources.
19 add_executable(privacybrowser resources.qrc)
21 # List the sources to include in the executable.
22 target_sources(privacybrowser PRIVATE
26 # Add the Qt logging category. This will create the `debug.h` header file.
27 ecm_qt_declare_logging_category(privacybrowser
29 IDENTIFIER PRIVACYBROWSER
30 CATEGORY_NAME "privacybrowser"
33 # Include the KConfig controller file.
34 kconfig_add_kcfg_files(privacybrowser settings/Settings.kcfgc)
36 # Use KDE Frameworks to handle internationalization of the following UI files.
37 ki18n_wrap_ui(privacybrowser
38 uis/AddOrEditCookieDialog.ui
41 uis/DomainSettingsDialog.ui
42 uis/DurableCookiesDialog.ui
44 uis/SettingsGeneral.ui
45 uis/SettingsPrivacy.ui
46 uis/SettingsSpellCheck.ui
50 # Link the following libraries.
51 target_link_libraries(privacybrowser
71 # Add the subdirectories.
72 add_subdirectory(databases)
73 add_subdirectory(delegates)
74 add_subdirectory(dialogs)
75 add_subdirectory(filters)
76 add_subdirectory(helpers)
77 add_subdirectory(interceptors)
78 add_subdirectory(ui.rcs)
79 add_subdirectory(widgets)
80 add_subdirectory(windows)
82 # Install Privacy Browser using the default KDE arguments.
83 install(TARGETS privacybrowser ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
85 # Install Privacy Browser according to the instructions in the desktop file, specifying the permissions.
86 install(PROGRAMS com.stoutner.privacybrowser.desktop DESTINATION ${KDE_INSTALL_APPDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
88 # Install Privacy Browser's metadata file.
89 install(FILES com.stoutner.privacybrowser.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
91 # Install Privacy Browser's notifyrc file.
92 install(FILES privacybrowser.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR})
94 # Install Privacy Browser's icon.
95 ecm_install_icons(ICONS icons/sc-apps-privacybrowser.svg DESTINATION ${KDE_INSTALL_ICONDIR})