CMake

Awesome CMake Awesome

>精选的超赞清单 CMake 脚本,模块,示例等

非常欢迎您的贡献(先见 https://github.com/onqtam/awesome-cmake/blob/master/CONTRIBUTING.md).

Community

Resources

  • Latest Documentation
  • FAQ
  • Wiki
  • Webinars
  • Web Book -CGold:旅行者 Guide 到CMake. [[BSD2]] [BSD-2-Clause]
  • Modern CMake -现代CMake PDF 和示例的创建者 cmakepp , [[W]] [带]
  • Article -轻松支持CMake安装和find_package().
  • Article -使用CMake和Git对C ++进行轻松的依赖管理.
  • Article -使用CMake选择加入仅标头的库.
  • Article -现代CMake终极指南.
  • Article -常见的CMake反模式列表(从2013年开始,但仍然相关).
  • Article -如何构建基于CMake的项目.
  • Article -在15分钟内学习CMake的脚本语言.
  • Article -CMake的体系结构.
  • Lecture -有效的CMake-由C ++ Now 2017年Daniel Pfeifer撰写
  • Article -使用CMake构建跨平台CUDA应用程序.
  • Tutorial -逐步了解CMake的指南.
  • Article + Lecture -拥抱现代CMake-Stephen Kelly.
  • Lecture -模块化设计的现代CMake-Mathieu Ropert,CppCon 2017.
  • Article -现代C ++ CI(尽管它使用非现代CMake,如``include_directories()'').
  • Article -是时候正确地做CMake了(有关CMake的最佳文章之一). *文章-关于CMake的系列-作者:MartinHořeňovský
  • Lecture -CMake简介-作者:Florent Castelli,C ++ Sweden 2018.
  • Article -一些不错且准确的CMake技巧.
  • Article -适用于图书馆开发人员的现代CMake.
  • Article -有效的现代CMake:大多数最佳做法的摘要-Manuel Binna.
  • Book -专业CMake:实用指南(收费).
  • Book -有效的CMake:编写更好的CMake的实用建议(尚未完全编写).
  • Web Book -现代CMake简介.
  • YouTube Series -如何CMake好. [CC0-1.0]
  • Lecture -更现代的CMake(slides & examples)-会议C ++ 2018的Deniz Bahadir撰写.
  • Lecture - 不好了! 更现代的CMake(slides)-由会议C ++ 2019的Deniz Bahadir撰写.
  • Article -修改默认的CMake构建类型/标志,工具链和补丁-噢,天哪! -克里斯蒂安·亚当(Cristian Adam).
  • Article -CLion背后的公司JetBrains提供的快速CMake教程.

Package Management / Build Systems

  • hunter -C ++的跨平台程序包管理器(基于CMake ExternalProject). [[BSD2]] [BSD-2-Clause]
  • cget -CMake软件包检索. 这可用于下载和安装CMake软件包. [[BOOST]] [BOOST]
  • cppan -C ++存档网络-基于CMake的C ++程序包管理器,在C ++ 14中实现. [[APACHE2]] [APACHE2]
  • cpm -基于CMake和Git的C ++软件包管理器. [[MIT]] [MIT]
  • conan -Conan C ++软件包管理器,以Python实现,并具有CMake集成后端. [[MIT]] [MIT]
  • fips -分布式,多平台C / C ++项目的高级构建系统/依赖性管理. [[MIT]] [MIT]
  • Ninja -在两个主要方面与其他系统不同的构建系统:它的设计目的是使输入文件由更高级别的构建系统(例如CMake)生成,并且它设计用于尽可能快地运行构建. [[APACHE2]] [APACHE2]
  • vcpkg -获取和构建C ++开源库的工具. 内部使用CMake作为构建脚本语言. [[MIT]] [MIT]
  • pmm -PMM是用于CMake的模块,用于管理...程序包管理器. [[MIT]] [MIT]
  • cpm -免安装CMake + git依赖管理器. [[MIT]] [MIT]

Modules

  • cmake-modules - Ryan Pavlik 的CMake模块集合. 有许多查找模块,特别是用于虚拟现实和物理模拟的查找模块,一些实用程序模块以及CMake本身的某些修补程序或解决方法. [[BOOST]] [BOOST]
  • cmake-modules -这是其他CMake模块的集合. 其中大多数来自Ryan Pavlik. [[BOOST]] [BOOST]
  • CMake - Eyescale 的常见CMake模块. [[BSD3]] [BSD-3-Clause]
  • sdl2-cmake-scripts -用于查找SDL2,SDL2_image和SDL2_ttf库和标头的CMake脚本. [[BSD2]] [BSD-2-Clause]
  • vfxcmake -通用vfx软件的CMake查找模块,以及通用CMake实用程序代码. [[LGPL]] [LGPL]
  • cmake-modules -一些科学图书馆的CMake模块. [[BSD2]] [BSD-2-Clause]
  • cgcmake -用于与计算机图形相关的常见应用程序的CMake模块. [[MIT]] [MIT]
  • FindMathematica -Mathematica的CMake模块. [[W]] [带]
  • extra-cmake-modules - KDE 的CMake额外模块和脚本. [[BSD3]] [BSD-3-Clause]
  • FindICU.cmake -CMake模块以查找Unicode国际组件(ICU)库. [[BSD2]] [BSD-2-Clause]
  • FindTBB -用于英特尔线程构建模块的CMake查找模块. [[MIT]] [MIT]
  • FindWiX -用于建筑的CMake模块 Windows Installer 与包装 WiX toolset . [`[BSD3]'] [BSD-3-条款]
  • FindIDL -用于建筑的CMake模块 IDL MIDL文件并使用生成CLR DLL Tlbimp , [[W]] [带]
  • cmake-modules - hanjianwei 的CMake模块集合. [[MIT]] [MIT]
  • YCM -额外的CMake模块 Yet Another Robot Platform 和朋友. [[BSD3]] [BSD-3-Clause]
  • CMakeCM -CMake社区模块. [无许可证]
  • Metabench -用于编译时微基准测试的CMake模块. [[BOOST]] [BOOST]

Utility Scripts

它们提供了广泛的功能-从处理编译器标志到使用工具. 有些还包含模块.

Toolchains

Examples / Templates

Other

License

这是根据 Creative Commons Attribution 4.0 International 许可证``(CC BY 4.0)''.

[ISC]:https://opensource.org/licenses/ISC [GPL]:https://www.gnu.org/licenses/gpl-3.0.html [GPL2]:https://www.gnu.org/licenses/old-licenses/gpl-2.0.html [LGPL]:https://www.gnu.org/licenses/lgpl-3.0.en.html [MIT]:https://opensource.org/licenses/MIT [BOOST]:http://www.boost.org/LICENSE_1_0.txt [BSD-2-Clause]:https://opensource.org/licenses/BSD-2-Clause [BSD-3-Clause]:https://opensource.org/licenses/BSD-3-Clause [APACHE2]:http://www.apache.org/licenses/LICENSE-2.0

[MPL]:https://www.mozilla.org/zh-CN/MPL/2.0/ [未授权]:https://unlicense.org/