]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blob - CMakeLists.txt
Increase the height of the settings dialog. https://redmine.stoutner.com/issues...
[PrivacyBrowserPC.git] / CMakeLists.txt
1 # SPDX-License-Identifier: GPL-3.0-or-later
2 # SPDX-FileCopyrightText: 2022-2024 Soren Stoutner <soren@stoutner.com>
3 #
4 # This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc/>.
5 #
6 # This program is free software: you can redistribute it and/or modify it under
7 # the terms of the GNU General Public License as published by the Free Software
8 # Foundation, either version 3 of the License, or (at your option) any later
9 # version.
10 #
11 # This program is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13 # FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
14 # details.
15 #
16 # You should have received a copy of the GNU General Public License along with
17 # this program.  If not, see <https://www.gnu.org/licenses/>.
18
19
20 # Set the minimum CMake version.
21 cmake_minimum_required(VERSION 3.16)
22
23 # Name the project.
24 project(privacybrowser)
25
26 # Set the minimum framework versions.
27 set(QT_MIN_VERSION "6.0.0")
28 set(KDE_FRAMEWORKS_MIN_VERSION "6.0.0")
29
30 # Load the Extra CMake Modules that correspond to the KDE Frameworks version.
31 find_package(ECM ${KDE_FRAMEWORKS_MIN_VERSION} REQUIRED NO_MODULE)
32
33 # Set the CMake module path.
34 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
35
36 # Include the KDE modules.
37 include(KDEInstallDirs)
38 include(KDECMakeSettings)
39 include(KDECompilerSettings NO_POLICY_SCOPE)
40
41 # Include the Extra CMake Modules.
42 include(ECMInstallIcons)
43 include(ECMQtDeclareLoggingCategory)
44 include(FeatureSummary)
45
46 # Disable forcing of PIE, which appears to cause problems with Ubuntu's build system.  <https://bugs.launchpad.net/ubuntu/+source/privacybrowser/+bug/2078732>
47 # Include the Position Independent Executable checker.  <https://cmake.org/cmake/help/latest/policy/CMP0083.html>
48 #include(CheckPIESupported)
49
50 # Check to see if Position Independent Executable is supported in the current linker and environment.
51 #check_pie_supported()
52
53 # Add the Position Independent Executable compiler flag if it is supported in the current linker and environment.  <https://cmake.org/cmake/help/latest/variable/CMAKE_POSITION_INDEPENDENT_CODE.html>
54 #set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
55
56 # Load the Qt components.
57 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
58     Core
59     Gui
60     PrintSupport
61     Sql
62     WebEngineCore
63     WebEngineWidgets
64     Widgets
65 )
66
67 # Load the KDE Frameworks components.
68 find_package(KF6 ${KDE_FRAMEWORKS_MIN_VERSION} REQUIRED COMPONENTS
69     Completion
70     ConfigWidgets
71     CoreAddons
72     Crash
73     DBusAddons
74     DocTools
75     I18n
76     Notifications
77     KIO
78     XmlGui
79 )
80
81 # Add the subdirectories.
82 add_subdirectory(doc)
83 add_subdirectory(src)
84
85 # Install the PO files.  These should be enabled once there are PO translations.
86 #ki18n_install(po)
87 #kdoctools_install(po)
88
89 # Generate a summary.
90 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)