# ecm-kde-modules(7)

## Introduction

Extra CMake Modules (ECM) provides several modules that provide default settings (like installation directories, compiler flags and other CMake options) aimed at software produced by the KDE modules; these are documented here. ECM also provides modules with more general functionality, documented in `ecm-modules(7)`, and ones that extend the functionality of the `find_package` command, documented in `ecm-find-modules(7)`.

To use these modules, you need to tell CMake to find the ECM package, and then add either `${ECM_MODULE_PATH}` or `${ECM_KDE_MODULE_DIR}` to the `CMAKE_MODULE_PATH` variable:

    find_package(ECM REQUIRED NO_MODULE)
    set(CMAKE_MODULE_PATH ${ECM_MODULE_DIR})

Using `${ECM_MODULE_PATH}` will also make the other types of modules available.

## All KDE Modules

- KDECMakeSettings
- KDEClangFormat
- KDECompilerSettings
- KDEFrameworkCompilerSettings
- KDEGitCommitHooks
- KDEInstallDirs
- KDEInstallDirs5
- KDEInstallDirs6
- KDEMetaInfoPlatformCheck
- KDEPackageAppTemplates