cmake -H. -Bbuild -G "MSYS Makefiles"
Run Code Online (Sandbox Code Playgroud)
该-H.选项在这里执行什么任务?cmake --help说-H打印帮助......
我正在使用CMake 3.2.3.
Ako*_*rth 43
如链接答案中所述,它是一个未记录的选项,但查看源代码会显示其效果:
if(arg.find("-H",0) == 0)
{
directoriesSet = true;
std::string path = arg.substr(2);
path = cmSystemTools::CollapseFullPath(path);
cmSystemTools::ConvertToUnixSlashes(path);
this->SetHomeDirectory(path);
Run Code Online (Sandbox Code Playgroud)
最后一次调用SetHomeDirectory实际上设置了项目的源目录.该-B选项(也未记录)依次设置二进制目录.
如果未设置这些选项,则二进制目录将是执行cmake的当前文件夹,并且源目录可以作为位置参数给出(如果未找到,则源文件夹也将是当前工作目录).
《 CMake旅行者指南》同时解释了CMake 3.13选项中的旧版和新版:
此内部选项未记录,但已被社区广泛使用。
和
在3.13中已用-S的正式源目录标志替换。
从CMake 3.13开始,-B是官方支持的标志,可以正确处理空格,并且可以独立于-S或-H选项使用。
| 归档时间: |
|
| 查看次数: |
5665 次 |
| 最近记录: |