ecm-common.eclass

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

Exported Phases

  • src_prepare

  • src_configure

Functions

ecm-common_inject_heredoc

Override this to inject custom Heredoc into the root CMakeLists.txt

ecm-common-check_deps

No-op function since KF5 support was dropped.

ecm-common_pkg_setup

No-op function since KF5 support was dropped.

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=6 only.

Variables

KFMIN

Minimum version of Frameworks to require. Baseline value is 6.22.0.

ECM_I18N (SET BEFORE INHERIT)

Will accept "true" (default) or "false". If set to "false", do nothing. Otherwise, add kde-frameworks/ki18n:6 to BDEPEND, find KF6I18n and let ki18n_install(po) generate and install translations.

ECM_HANDBOOK (SET BEFORE INHERIT)

Will accept "true" or "false" (default). If set to "false", do nothing. Otherwise, add "+handbook" to IUSE, add kde-frameworks/kdoctools:6 to BDEPEND find KF6DocTools 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)

If empty, do nothing. Otherwise, add kde-frameworks/kcmutils:6 to BDEPEND and set up the CMaḱeLists.txt according to the content of ECM_KCM_TARGETS: 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

kde@gentoo.org

Reporting Bugs

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