#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 29. Introduction to KDE

- Prev

  KDE Preliminaries

- Next

  Phonon-4.11.1

- Up
- Home

# extra-cmake-modules-5.91.0

## Introduction to Extra Cmake Modules

The Extra Cmake Modules package contains extra CMake modules used by KDE Frameworks 5 and other packages.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://download.kde.org/stable/frameworks/5.91/extra-cmake-modules-5.91.0.tar.xz

- Download MD5 sum: 65a71fbf53cda26166fa315c496f16ca

- Download size: 324 KB

- Estimated disk space required: 4.4 MB

- Estimated build time: less than 0.1 SBU

### Extra Cmake Modules Dependencies

#### Required

CMake-3.22.2

#### Optional

PyQt (experimental support for building KDE Python bindings), and Sphinx (for building documentation)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/extra-cmake-modules

## Installation of Extra Cmake Modules

Install Extra Cmake Modules by running the following commands:

    sed -i '/"lib64"/s/64//' kde-modules/KDEInstallDirsCommon.cmake &&

    sed -e '/PACKAGE_INIT/i set(SAVE_PACKAGE_PREFIX_DIR "${PACKAGE_PREFIX_DIR}")' \
        -e '/^include/a set(PACKAGE_PREFIX_DIR "${SAVE_PACKAGE_PREFIX_DIR}")' \
        -i ECMConfig.cmake.in &&

    mkdir build &&
    cd    build &&

    cmake -DCMAKE_INSTALL_PREFIX=/usr .. &&
    make

This package does not come with a test suite.

### Note

Unlike other KF5 packages, this module is installed in /usr because it can be used by some non-KF5 packages.

Now, as the `root` user:

    make install

## Command Explanations

sed ... Modules/KDEInstallDirs.cmake: This command disables applications using cmake from attempting to install files in a `lib64` sub-directory.

sed ... ECMConfig.cmake.in: This command protects the global cmake variable `PACKAGE_PREFIX_DIR` from being changed when checking ECM presence: since we install ECM into `/usr`, the check would set that variable to `/usr`, while most KDE packages expect it to be set to `/opt/kf5` and would fail to build if it is set to something else.

## Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/share/ECM and /usr/share/doc/ECM (if documentation was built)

Last updated on

- Prev

  KDE Preliminaries

- Next

  Phonon-4.11.1

- Up
- Home