CMake顶级配置子模块

时间:2018-10-17 17:39:04

标签: cmake build-system

我正在将CMake纳入一个较旧的项目。一个目标是开始遵循良好的现代CMake原理-即根据模块进行思考。现代CMake的一个目标是使模块能够独立于顶层,而顶层会通过add_subdirectory对其进行依赖。

该项目要做的一件事是定义一个基本上所有子模块都包含的platform.h文件。我认为这是一种反模式,因为它在错误的方向上创建了依赖关系-即较低层的库依赖于最顶层的文件。

我的问题-如果您想告诉子模块在编译时要使用的各种设置,是否有一种现代的CMake方法可以做到这一点?我想这类似于Linux内核如何在kconfig文件中设置值,该文件在make config期间在整个源中进行更新。也是影响子模块的顶层。

编辑: 我知道您可以使用cmake build命令传递定义,但是如果不止几个,这似乎很麻烦。

0 个答案:

没有答案