Warning, /plasma/print-manager/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16)
0002
0003 project(print-manager)
0004 set(PROJECT_VERSION "6.0.80")
0005
0006 set(PROJECT_DEP_VERSION "6.0.80")
0007 set(QT_MIN_VERSION "6.6.0")
0008 set(KF6_MIN_VERSION "5.240.0")
0009
0010 set(CMAKE_CXX_STANDARD 20)
0011 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0012
0013 ################# set KDE specific information #################
0014
0015 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
0016 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH})
0017
0018 include(KDEInstallDirs)
0019 include(KDECMakeSettings)
0020 include(KDECompilerSettings NO_POLICY_SCOPE)
0021 include(KDEGitCommitHooks)
0022 include(KDEClangFormat)
0023
0024 include(ECMQmlModule)
0025 include(ECMOptionalAddSubdirectory)
0026 include(ECMQtDeclareLoggingCategory)
0027 include(FeatureSummary)
0028
0029 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
0030 Core
0031 DBus
0032 Network
0033 Widgets
0034 Qml
0035 Quick
0036 )
0037 find_package(Qt6Core5Compat)
0038
0039 find_package(Cups "1.5" REQUIRED)
0040
0041 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED
0042 Config
0043 ConfigWidgets
0044 CoreAddons
0045 DBusAddons
0046 IconThemes
0047 I18n
0048 KCMUtils
0049 Kirigami
0050 KIO
0051 Notifications
0052 WidgetsAddons
0053 WindowSystem
0054 )
0055
0056 find_package(Plasma ${PROJECT_DEP_VERSION} REQUIRED)
0057
0058 set_package_properties(KF6Kirigami PROPERTIES
0059 TYPE REQUIRED
0060 PURPOSE "Kirigami application UI framework"
0061 )
0062
0063 find_package(CupsSmb)
0064 set_package_properties(CupsSmb PROPERTIES
0065 TYPE RUNTIME
0066 DESCRIPTION "SMB backend for CUPS (aka smbspool)"
0067 PURPOSE "Required for CUPS to be able to print to printers shared over SMB"
0068 URL "https://samba.org"
0069 )
0070
0071 add_definitions(
0072 -DQT_DISABLE_DEPRECATED_BEFORE=0x050900
0073 -DQT_USE_FAST_OPERATOR_PLUS
0074 -DQT_NO_URL_CAST_FROM_STRING
0075 -DQT_NO_CAST_FROM_BYTEARRAY
0076 -DQT_NO_CAST_FROM_ASCII
0077 )
0078
0079 remove_definitions(-DQT_NO_KEYWORDS)
0080
0081 # Generate config.h
0082 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
0083 ${CMAKE_CURRENT_BINARY_DIR}/config.h)
0084
0085
0086 include_directories(${CMAKE_BINARY_DIR}) # config.h
0087
0088 install(FILES org.kde.print-manager.metainfo.xml DESTINATION "${KDE_INSTALL_METAINFODIR}")
0089
0090 add_definitions(-DTRANSLATION_DOMAIN="print-manager")
0091
0092 add_subdirectory(src)
0093
0094 ecm_qt_install_logging_categories(
0095 EXPORT PMLOGS
0096 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0097 )
0098
0099 ki18n_install(po)
0100
0101 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0102 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0103
0104 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0105
0106 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)