确定cmake是从终端还是gui执行

时间:2017-06-15 04:08:26

标签: cmake cmake-gui

CMakeLists.txt中,有没有办法知道文件是从终端还是通过gui(某种形式,例如ccmakecmake-gui)执行的?无论我正在运行CMAKE_COMMAND还是CMAKE_EDIT_COMMANDcmakeccmake都会被填充。

我正在搜索variables,这两个似乎是最有希望的。我已经迷恋colorizing cmake output,许多精彩的答案都有它们的缺点。也就是说,我可以得到:

  1. 它在终端中按预期工作,但ccmake中有转义序列。
  2. 它在终端中按预期工作,但ccmake终端通过彩色输出(LOL)覆盖
  3. 只是好奇是否有办法在CMakeLists.txt中确定这一点。脚本模式(-P)的变量看起来似乎有帮助,但我想我首先需要知道哪个可执行文件(cmakeccmake)称为CMakeLists.txt第一名。

1 个答案:

答案 0 :(得分:0)

据我所知,没有办法区分代码是从CMake还是从CMake-gui调用的。代码应该以相同的方式运行,其他一切对用户来说都是一个惊喜。

您可以尝试检测CMake-gui的实例是否正在运行,但这很容易出错,并且不适用于实际用例。