dwww Home | Manual pages | Find package

ECM(7)                        Extra CMake Modules                       ECM(7)

NAME
       ecm - Extra CMake Modules

INTRODUCTION
       The  Extra  CMake Modules package, or ECM, adds to the modules provided
       by CMake, including ones used by find_package() to  find  common  soft-
       ware, ones that can be used directly in CMakeLists.txt files to perform
       common tasks and toolchain files that must be specified on the command-
       line by the user.

       In  addition,  it  provides common build settings used in software pro-
       duced by the KDE community.

       While the driving force of this module  is  to  reduce  duplication  in
       CMake  scripts across KDE software, it is intended to be useful for any
       software that uses the CMake build system.

USAGE
       To use ECM, add the following to your CMakeLists.txt:

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

       (note that you may want  to  append  ${ECM_MODULE_PATH}  to  CMAKE_MOD-
       ULE_PATH rather than discarding the existing value).  You can then just
       include the modules you require, or use find_package() as needed.   For
       example:

          include(ECMInstallIcons)

       Developers of KDE software will often want to use the KDE standard set-
       tings provided by ECM; they can do the following:

          find_package(ECM REQUIRED NO_MODULE)
          set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
          include(KDEInstallDirs)
          include(KDECompilerSettings)
          include(KDECMakeSettings)

       Note that any combination of the above includes can be used if you only
       want   some   of   the   settings.    Some   of  the  functionality  of
       KDECMakeSettings can also be selectively disabled.

   Organization
       ECM provides four different types of modules.

       • Core modules provide helpful macros for use in project CMake scripts.
         See ecm-modules(7) for more information.

       • Find  modules extend the functionality of CMake’s find_package() com-
         mand.  See ecm-find-modules(7) for more information.

       • KDE modules provide common settings for  software  produced  by  KDE;
         much   of   this   may   also  be  useful  to  other  projects.   See
         ecm-kde-modules(7) for more information.

       • Toolchain files change the build tools and targets used by CMake. See
         ecm-toolchains(7) for more information.

       The ${ECM_MODULE_DIR}, ${ECM_FIND_MODULE_DIR} and ${ECM_KDE_MODULE_DIR}
       variables may be used instead of ${ECM_MODULE_PATH} if  you  only  need
       some of this functionality.

DEVELOPMENT
       The  ecm-developer(7) manual contains more information about developing
       for Extra CMake Modules.

LICENSE
       All code is licensed under the BSD 3-Clause license.

LINKS
       • Home page: https://commits.kde.org/extra-cmake-modules

       • Documentation: https://api.kde.org/ecm/

       • Mailing list: https://mail.kde.org/mailman/listinfo/kde-buildsystem

       • IRC channel: #kde-devel on Libera Chat

       • Git repository: https://commits.kde.org/extra-cmake-modules

COPYRIGHT
       KDE Developers

5.103                            Feb 12, 2023                           ECM(7)

Generated by dwww version 1.15 on Sat Jun 29 02:10:43 CEST 2024.