在一个项目中,有很多库:
- 库之间存在依赖关系。
- 每个库都有一些功能可以在构建时启用/禁用。
- 一个库功能可能依赖于另一个库的指定功能。
问题:
- 如何使用 cmake 来组织这种基于特征的依赖。
- 如何使用不同的功能列表配置不同的目标。
使用带有 CACHE 关键字命令的option()和set() 来定义构建选项。
用于if(OPTION_NAME)
测试期权价值。在 if 块内部使用add_dependencies()
以使其中一些是可选的。
使用configure_file()将模板文件(例如配置 headerm)替换为选项的值。