在CMakeLists.txt
中,有没有办法知道文件是从终端还是通过gui(某种形式,例如ccmake
或cmake-gui
)执行的?无论我正在运行CMAKE_COMMAND
还是CMAKE_EDIT_COMMAND
,cmake
和ccmake
都会被填充。
我正在搜索variables,这两个似乎是最有希望的。我已经迷恋colorizing cmake output,许多精彩的答案都有它们的缺点。也就是说,我可以得到:
ccmake
中有转义序列。ccmake
终端通过彩色输出(LOL)覆盖。只是好奇是否有办法在CMakeLists.txt
中确定这一点。脚本模式(-P
)的变量看起来似乎有帮助,但我想我首先需要知道哪个可执行文件(cmake
或ccmake
)称为CMakeLists.txt
第一名。
答案 0 :(得分:0)
据我所知,没有办法区分代码是从CMake还是从CMake-gui调用的。代码应该以相同的方式运行,其他一切对用户来说都是一个惊喜。
您可以尝试检测CMake-gui的实例是否正在运行,但这很容易出错,并且不适用于实际用例。