-# Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
+# Copyright 2022-2023 Soren Stoutner <soren@stoutner.com>.
#
# This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
#
# 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/>.
+
+# Set the minimum CMake version.
cmake_minimum_required(VERSION 3.16)
+# Name the project.
project(privacybrowser)
# Set the minimum framework versions.
set(QT_MIN_VERSION "5.15.0")
set(KDE_FRAMEWORKS_MIN_VERSION "5.83.0")
+# Load the Extra CMake Modules that correspond to the KDE Frameworks version.
find_package(ECM ${KDE_FRAMEWORKS_MIN_VERSION} REQUIRED NO_MODULE)
+
+# Set the CMake module path.
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+# Include the KDE modules.
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
+# Include the Extra CMake Modules.
include(ECMInstallIcons)
include(ECMQtDeclareLoggingCategory)
include(FeatureSummary)
-find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets)
+# Load the Qt components.
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+ Gui
+ Sql
+ WebEngineCore
+ WebEngineWidgets
+ Widgets
+)
+# Load the KDE Frameworks components.
find_package(KF5 ${KDE_FRAMEWORKS_MIN_VERSION} REQUIRED COMPONENTS
+ Completion
ConfigWidgets
CoreAddons
Crash
DBusAddons
DocTools
I18n
+ Notifications
+ KIO
XmlGui
)
+# Add the subdirectories.
add_subdirectory(doc)
add_subdirectory(src)
-# Make it possible to use the po files fetched by the fetch-translations step
-ki18n_install(po)
-kdoctools_install(po)
+# Install the PO files. These should be enabled once there are PO translations.
+#ki18n_install(po)
+#kdoctools_install(po)
+# Generate a summary.
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)