ECM-COMMON.ECLASS

Section: eclass-manpages (5)
Updated: Sep 2024
Index Return to Main Contents

NAME

ecm-common.eclass - Standalone CMake calling std. ECM macros to install common files only.

DESCRIPTION

This eclass is used for installing common files of packages using ECM macros, most of the time translations, but optionally also icons and kcfg files. This is mainly useful for packages split from a single upstream tarball, or for collision handling of slotted package versions, which need to share a common files package. Conventionally we will use ${PN}-common for these split packages.

SUPPORTED EAPIS

8

TRANSITIVELY PROVIDED ECLASSES

cmake

FUNCTIONS

ecm-common_inject_heredoc
Override this to inject custom Heredoc into the root CMakeLists.txt
ecm-common-check_deps
Override this to add more KF6 has_version checks to pkg_setup(), corresponding with any additional KF6_BDEPEND defined pre-inherit. If false, we'll assume KF5 dependencies are fulfilled via BDEPEND.
ecm-common_pkg_setup
If KFMIN is not lower than 5.240 (default is 6.0.0), do nothing. Otherwise, dDetermine which of KF5 or KF6-based depgraph is complete, preferring KF6. The result is stored in _KFSLOT, which is then handed to CMakeLists.txt as KFSLOT var for further use.
ecm-common_src_prepare
Wrapper for cmake_src_prepare with a Heredoc replacing the standard root CMakeLists.txt file to only generate and install translations.
ecm-common_src_configure
Passes -DQT_MAJOR_VERSION=${_KFSLOT} only.

ECLASS VARIABLES

KFMIN
Minimum version of Frameworks to require. Default value for kde-frameworks is ${PV} and 6.0.0 baseline for everything else. If set to <5.240, it is assumed dependencies are fulfilled by KF5/Qt5 alternatively, thus a block of SLOT=5 shadow dependencies added.
KF5_BDEPEND (SET BEFORE INHERIT)
Dynamic KF5 dependency list.
KF6_BDEPEND (SET BEFORE INHERIT)
Dynamic KF6 dependency list.
ECM_I18N ?= true (SET BEFORE INHERIT)
Will accept "true" (default) or "false". If set to "false", do nothing. Otherwise, add kde-frameworks/ki18n:* to BDEPEND, find KF[56]I18n and let ki18n_install(po) generate and install translations.
ECM_HANDBOOK ?= false (SET BEFORE INHERIT)
Will accept "true" or "false" (default). If set to "false", do nothing. Otherwise, add "+handbook" to IUSE, add kde-frameworks/kdoctools:* to BDEPEND find KF[56]DocTools in CMake, call add_subdirectory(ECM_HANDBOOK_DIRS) and let let kdoctools_install(po) generate and install translated docbook files.
ECM_HANDBOOK_DIRS (SET BEFORE INHERIT)
Default is "doc" which is correct for the vast majority of packages. Specifies one or more directories containing untranslated docbook file(s) relative to ${S} to be added via add_subdirectory.
ECM_INSTALL_FILES
Array of <file>:<destination_path> tuples to install by CMake via install(FILES <file> DESTINATION <destination_path>)
ECM_INSTALL_ICONS
Array of <icon>:<icon_install_dir> tuples to feed to ECMInstallIcons via ecm_install_icons(ICONS <icon> DESTINATION <icon_install_dir)
ECM_KCM_TARGETS (SET BEFORE INHERIT)
Array of <target>:<subdir> tuples to feed to ECMInstallIcons via ecmcommon_generate_desktop_file(<target> <subdir>), which is this eclass adaptation of kcmutils_generate_desktop_file.

MAINTAINERS

[email protected]

REPORTING BUGS

Please report bugs via https://bugs.gentoo.org/

FILES

ecm-common.eclass

SEE ALSO

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/ecm-common.eclass


Index

NAME
DESCRIPTION
SUPPORTED EAPIS
TRANSITIVELY PROVIDED ECLASSES
FUNCTIONS
ECLASS VARIABLES
MAINTAINERS
REPORTING BUGS
FILES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 03:27:01 GMT, September 25, 2024