]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blob - CMakeLists.txt
ca98f3512c7a40611ce3edc0d703c97bdb9fba16
[PrivacyBrowserPC.git] / CMakeLists.txt
1 # Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
2 #
3 # This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
4 #
5 # Privacy Browser PC is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # Privacy Browser PC is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with Privacy Browser PC.  If not, see <http://www.gnu.org/licenses/>.
17
18 cmake_minimum_required(VERSION 3.16)
19
20 project(privacybrowser)
21
22 # Set the minimum framework versions.
23 set(QT_MIN_VERSION "5.15.0")
24 set(KDE_FRAMEWORKS_MIN_VERSION "5.83.0")
25
26 find_package(ECM ${KDE_FRAMEWORKS_MIN_VERSION} REQUIRED NO_MODULE)
27 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
28
29 include(KDEInstallDirs)
30 include(KDECMakeSettings)
31 include(KDECompilerSettings NO_POLICY_SCOPE)
32
33 include(ECMInstallIcons)
34 include(ECMQtDeclareLoggingCategory)
35 include(FeatureSummary)
36
37 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets)
38
39 find_package(KF5 ${KDE_FRAMEWORKS_MIN_VERSION} REQUIRED COMPONENTS
40     ConfigWidgets
41     CoreAddons
42     Crash
43     DBusAddons
44     DocTools
45     I18n
46     XmlGui
47 )
48
49 add_subdirectory(doc)
50 add_subdirectory(src)
51
52 # Make it possible to use the po files fetched by the fetch-translations step
53 ki18n_install(po)
54 kdoctools_install(po)
55
56 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)