Introduction to Extra Cmake Modules

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



Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Extra Cmake Modules Dependencies




sphinx-7.4.6 (for building documentation), PyQt (experimental support for building KDE Python bindings), and ReuseTool (for running internal tests)

Installation of Extra Cmake Modules

Install Extra Cmake Modules by running the following commands:

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

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

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr .. &&

This package does not come with a test suite.



Unlike other KF6 packages, this module is installed in /usr because it can be used by some non-KF6 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.


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