{"id":18714179,"url":"https://github.com/pfultz2/extra-cmake-modules","last_synced_at":"2026-01-26T17:08:05.881Z","repository":{"id":143674665,"uuid":"67352273","full_name":"pfultz2/extra-cmake-modules","owner":"pfultz2","description":"KDE Extra cmake modules","archived":false,"fork":false,"pushed_at":"2016-09-04T15:18:13.000Z","size":2121,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-28T09:20:40.243Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pfultz2.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING-CMAKE-SCRIPTS","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-04T15:16:45.000Z","updated_at":"2024-03-13T11:39:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"b7fd8888-d4db-48c4-8f75-b48983dc833b","html_url":"https://github.com/pfultz2/extra-cmake-modules","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfultz2%2Fextra-cmake-modules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfultz2%2Fextra-cmake-modules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfultz2%2Fextra-cmake-modules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfultz2%2Fextra-cmake-modules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pfultz2","download_url":"https://codeload.github.com/pfultz2/extra-cmake-modules/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239576790,"owners_count":19662114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T12:51:39.338Z","updated_at":"2025-11-10T01:30:17.173Z","avatar_url":"https://github.com/pfultz2.png","language":"CMake","readme":"Extra CMake Modules\n*******************\n\nIntroduction\n============\n\nThe Extra CMake Modules package, or ECM, adds to the modules provided by CMake,\nincluding ones used by ``find_package()`` to find common software, ones that\ncan be used directly in ``CMakeLists.txt`` files to perform common tasks and\ntoolchain files that must be specified on the commandline by the user.\n\nIn addition, it provides common build settings used in software produced by the\nKDE community.\n\nWhile the driving force of this module is to reduce duplication in CMake scripts\nacross KDE software, it is intended to be useful for any software that uses the\nCMake build system.\n\n\nUsage\n=====\n\nTo use ECM, add the following to your ``CMakeLists.txt``:\n\n.. code-block:: cmake\n\n  find_package(ECM REQUIRED NO_MODULE)\n  set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})\n\n(note that you may want to append ``${ECM_MODULE_PATH}`` to\n``CMAKE_MODULE_PATH`` rather than discarding the existing value).  You can then\njust include the modules you require, or use ``find_package()`` as needed.  For\nexample:\n\n.. code-block:: cmake\n\n  include(ECMInstallIcons)\n\nDevelopers of KDE software will often want to use the KDE standard settings\nprovided by ECM; they can do the following:\n\n.. code-block:: cmake\n\n  find_package(ECM REQUIRED NO_MODULE)\n  set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})\n  include(KDEInstallDirs)\n  include(KDECompilerSettings)\n  include(KDECMakeSettings)\n\nNote that any combination of the above includes can be used if you only want\nsome of the settings.  Some of the functionality of\n:kde-module:`KDECMakeSettings` can also be selectively disabled.\n\n\nOrganization\n------------\n\nECM provides four different types of modules.\n\n* Core modules provide helpful macros for use in project CMake scripts.\n  See :manual:`ecm-modules(7)` for more information.\n* Find modules extend the functionality of CMake's ``find_package()`` command.\n  See :manual:`ecm-find-modules(7)` for more information.\n* KDE modules provide common settings for software produced by KDE; much of this\n  may also be useful to other projects.  See :manual:`ecm-kde-modules(7)` for\n  more information.\n* Toolchain files change the build tools and targets used by CMake. See\n  :manual:`ecm-toolchains(7)` for more information.\n\nThe ``${ECM_MODULE_DIR}``, ``${ECM_FIND_MODULE_DIR}`` and\n``${ECM_KDE_MODULE_DIR}`` variables may be used instead of\n``${ECM_MODULE_PATH}`` if you only need some of this functionality.\n\n\nDevelopment\n===========\n\nThe :manual:`ecm-developer(7)` manual contains more information about\ndeveloping for Extra CMake Modules.\n\n\nLicense\n=======\n\nAll code is licensed under the `BSD 3-Clause license`_.\n\n.. _BSD 3-Clause license: http://opensource.org/licenses/BSD-3-Clause\n\n\nLinks\n=====\n\n* Home page: https://projects.kde.org/projects/kdesupport/extra-cmake-modules\n* Mailing list: https://mail.kde.org/mailman/listinfo/kde-buildsystem\n* IRC channel: #kde-devel on Freenode\n* Git repository: https://quickgit.kde.org/?p=extra-cmake-modules.git\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfultz2%2Fextra-cmake-modules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfultz2%2Fextra-cmake-modules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfultz2%2Fextra-cmake-modules/lists"}