]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/CMakeLists.txt
Block all CSP requests. https://redmine.stoutner.com/issues/1193
[PrivacyBrowserPC.git] / src / CMakeLists.txt
index 2d1340b2fa06eac0509103d111fc3b8d9489c8b1..799c44ec7651871badb21e217ad19773a5055a10 100644 (file)
@@ -1,45 +1,56 @@
-# Copyright 2022-2023 Soren Stoutner <soren@stoutner.com>.
+# SPDX-License-Identifier: GPL-3.0-or-later
+# SPDX-FileCopyrightText: 2022-2025 Soren Stoutner <soren@stoutner.com>
 #
-# This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
+# This file is part of Privacy Browser PC <https://www.stoutner.com/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 <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License along with
+# this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # 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
 )
 
 # 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/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
+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
@@ -48,24 +59,25 @@ ki18n_wrap_ui(privacy-browser
 )
 
 # 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::Notifications
-    KF5::KIOCore
-    KF5::KIOWidgets
-    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.
@@ -80,16 +92,29 @@ 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 notifyrc file.
+# Install the notifyrc file.
 install(FILES privacybrowser.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR})
 
-# Install Privacy Browser's icon.
-ecm_install_icons(ICONS icons/sc-apps-privacy-browser.svg DESTINATION ${KDE_INSTALL_ICONDIR})
+# 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/)