X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2FCMakeLists.txt;h=4d33710bb035c2c688fd4caef84aa632a7d67d23;hp=75bdc675ddc57e730b703bbd641269b068d30e3a;hb=34816101e23ae2b489d64d540534125cf2c2e925;hpb=6b2e1320fae530d918e617bbf2eab7b34e454498 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 75bdc67..4d33710 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,33 +1,81 @@ -add_executable(privacybrowserpc) +# Copyright © 2022 Soren Stoutner . +# +# 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. +# +# 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. +# +# You should have received a copy of the GNU General Public License +# along with Privacy Browser PC. If not, see . -target_sources(privacybrowserpc PRIVATE +# Create the executable and add the resources. +add_executable(privacy-browser resources.qrc) + +# List the sources to include in the executable. +target_sources(privacy-browser PRIVATE main.cpp - privacybrowserpcwindow.cpp - privacybrowserpcview.cpp ) -ecm_qt_declare_logging_category(privacybrowserpc - HEADER privacybrowserpcdebug.h - IDENTIFIER PRIVACYBROWSERPC - CATEGORY_NAME "privacybrowserpc" +# Add the Qt logging category. This will create the `debug.h` header file. +ecm_qt_declare_logging_category(privacy-browser + HEADER debug.h + IDENTIFIER PRIVACYBROWSER + CATEGORY_NAME "privacybrowser" ) -kconfig_add_kcfg_files(privacybrowserpc PrivacyBrowserPCSettings.kcfgc) -ki18n_wrap_ui(privacybrowserpc - privacybrowserpcview.ui - settings.ui + +# Include the KConfig controller file. +kconfig_add_kcfg_files(privacy-browser settings/Settings.kcfgc) + +# Use KDE Frameworks to handle internationalization of the following UI files. +ki18n_wrap_ui(privacy-browser + ui/BrowserView.ui + ui/DomainSettingsDialog.ui + ui/SettingsGeneral.ui + ui/SettingsPrivacy.ui ) -target_link_libraries(privacybrowserpc +# 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 - KF5::ConfigWidgets - KF5::DBusAddons - KF5::Crash - Qt5::Widgets ) -install(TARGETS privacybrowserpc ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) -install(PROGRAMS org.example.privacybrowserpc.desktop DESTINATION ${KDE_INSTALL_APPDIR}) -install(FILES org.example.privacybrowserpc.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) -install(FILES privacybrowserpcui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/privacybrowserpc) +# Add the subdirectories. +add_subdirectory(dialogs) +add_subdirectory(filters) +add_subdirectory(helpers) +add_subdirectory(interceptors) +add_subdirectory(ui.rc) +add_subdirectory(views) +add_subdirectory(windows) + +# Install Privacy Browser using the default KDE arguments. +install(TARGETS privacy-browser ${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 Privacy Browser's icon. +ecm_install_icons(ICONS icons/sc-apps-privacy-browser.svg DESTINATION ${KDE_INSTALL_ICONDIR})