让C++成为小菜一碟。
cupcake的Python项目详细描述
使C++成为小菜一碟。
纸杯蛋糕是一层薄薄的覆盖在CMake和Conan上,试图提供 以Yarn或Poetry的风格提供更好的用户体验。
观众
使用此工具,C++项目必须符合某个配置文件,并遵循某些配置文件 习俗。这个配置文件是我所谓的^ {STR 1 } $BASIC C++项目>:/P>
- < L> ^ ^ {STR 1 } $名称< /强>,这是一个有效的C++标识符。
- 零个或多个公共依赖项。这些可能是 库或可执行文件,或者它们可能是 公共标题。用户在安装时必须安装公共依赖项 项目。
- 一些public头嵌套在以项目命名的目录下。
- 一个库,以项目命名,可以静态链接或 动态(没有其他选项)。图书馆依靠公众 头和公共依赖项。
- 零个或多个可执行文件依赖于公共头、库, 以及公众的依赖。
- 零个或多个私有依赖项。这些通常是测试框架。 开发库的开发人员希望安装它们,但是 图书馆没有。
- 零个或多个依赖于公共头、库、 公共依赖项和私有依赖项。
这些惯例在社区中很流行,似乎是consideredbestpractices:
- 项目是用cmake[1]构建和安装的。
- 该项目使用语义版本控制。
- 该项目相对于前缀安装自身。公共头是 安装在include/;静态和动态库安装在 lib/;可执行文件安装在bin/中。
- 该项目安装一个CMake package configuration file来导出 图书馆的目标。目标是以项目命名的,它是 作用域在以项目命名的命名空间中。依赖项链接 使用相同语法的目标 和柯南在一起。
词源学
我喜欢Make,但它不是跨平台的。差不多每隔一天 采用单字母前缀“-ake”,包括 C++(但被C语言窃取),Cake。从那里,这是通往CPPCake的一小步, 这需要一个简单的发音。“纸杯蛋糕”有用。我更喜欢名字 拼写清晰的发音以便读者不被留下 很困惑,所以我不妨把这个工具命名为纸杯蛋糕。一个简短的Google search似乎证实了 这个名字在C++社区中是无人声明的。
[1] | CMake likes to remind everyone that it is a build system generator, not a build system, but it is reaching a level of abstraction that lets us think of it as a cross-platform build system. |