# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2022-2024 Soren Stoutner # # This file is part of Privacy Browser PC . # # This program 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. # # This program 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 # this program. If not, see . # 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 "6.0.0") set(KDE_FRAMEWORKS_MIN_VERSION "6.0.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) # Disable forcing of PIE, which appears to cause problems with Ubuntu's build system. # Include the Position Independent Executable checker. #include(CheckPIESupported) # Check to see if Position Independent Executable is supported in the current linker and environment. #check_pie_supported() # Add the Position Independent Executable compiler flag if it is supported in the current linker and environment. #set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) # Load the Qt components. find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui PrintSupport Sql WebEngineCore WebEngineWidgets Widgets ) # Load the KDE Frameworks components. find_package(KF6 ${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) # 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)