X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2FCMakeLists.txt;h=8f184ad26ee8ff6a3f9ade1726e2e36390774ec3;hp=75bdc675ddc57e730b703bbd641269b068d30e3a;hb=05800bafb963a10f291d2a9604dc90cd7ac37c7b;hpb=6b2e1320fae530d918e617bbf2eab7b34e454498 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 75bdc67..8f184ad 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,33 +1,77 @@ -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 + BrowserWindow.cpp main.cpp - privacybrowserpcwindow.cpp - privacybrowserpcview.cpp + MainView.cpp + MouseEventFilter.cpp + UserAgentHelper.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.kcfgc) + +# Use KDE Frameworks to handle internationalization of the following UI files. +ki18n_wrap_ui(privacy-browser + MainView.ui + SettingsPrivacy.ui + SettingsGeneral.ui ) -target_link_libraries(privacybrowserpc +# Link the following libraries. +target_link_libraries(privacy-browser + Qt5::Core + Qt5::Gui + Qt5::Widgets + 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) +# 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 RC (Runtime Configuration) file. +install(FILES privacybrowserui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/privacybrowser) + +# Install Privacy Browser's icon. +ecm_install_icons(ICONS icons/sc-apps-privacy-browser.svg DESTINATION ${KDE_INSTALL_ICONDIR})