创建 CMake 选项组

Sim*_*ker 5 c++ linux project-management cmake

我正在使用 CMake 在 Linux 上管理一组项目的构建,而不是单个项目,但原理是相同的。每个项目都有自己的选项集合,例如DEVEL要包含的开关和自定义代码。这些是以标准的 CMake 方式添加的:

OPTION(NAME "Helpstring" VALUE)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种根据它们所属的项目对这些选项进行分组的方法,因为它们目前按字母顺序排列,并且可能会非常混乱。它还可以让我为每个选项提供唯一的名称,例如一个DEVEL选项可以应用于所有项目,但我可能只想在某些项目上启用它。我不想写例如PROJECTNAME_DEVEL选项。

理想情况下,我想要一个系统来根据项目划分选项,例如

PROJECT1NAME:
    DEVEL: ON
PROJECT2NAME:
    DEVEL: OFF
    ANOTHER_OPTION: ON
Run Code Online (Sandbox Code Playgroud)

我能以某种方式做到这一点吗?我主要针对 cmake 的 ncurses 接口,我看到 Qt 接口可以对条目进行分组,那么在 ncurses 接口中这可能吗?

干杯

DLR*_*ave 4

两个评论者在这里都是正确的:cmake-gui 程序(基于 Qt 的 gui)根据前导前缀将选项分组在一起,直到第一个下划线字符。

ccmake 程序(基于 ncurses 的“gui”)尚不具有相同的分组功能。