Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 KDECMakeSet-
       tings can also be selectively disabled.

   Organization
       ECM provides four different types of modules.

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

       o Find  modules extend the functionality	of CMakeas find_package() com-
	 mand.	See ecm-find-modules(7)	for more information.

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

       o 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
       o Home page: https://commits.kde.org/extra-cmake-modules

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

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

       o IRC channel: #kde-devel on Freenode

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

COPYRIGHT
       KDE Developers

5.77				 Feb 28, 2021				ECM(7)

NAME | INTRODUCTION | USAGE | DEVELOPMENT | LICENSE | LINKS | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ecm&sektion=7&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help