Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Build CMAKE_主机\u苹果/CMAKE_主机\u UNIX/CMAKE_主机\u WIN32设置在哪里?_Build_Cmake_Cross Platform_Build Process - Fatal编程技术网

Build CMAKE_主机\u苹果/CMAKE_主机\u UNIX/CMAKE_主机\u WIN32设置在哪里?

Build CMAKE_主机\u苹果/CMAKE_主机\u UNIX/CMAKE_主机\u WIN32设置在哪里?,build,cmake,cross-platform,build-process,Build,Cmake,Cross Platform,Build Process,我已经开始在引擎盖下挖掘,以便更好地了解CMake的内部工作原理。我一直在浏览Modules目录中的文件,以了解运行CMake时发生的情况 到目前为止,我还无法确定如何/在哪里设置CMAKE\u HOST\u APPLE/CMAKE\u HOST\u UNIX/CMAKE\u HOST\u WIN32变量 谁能启发我 另一方面,我一直在随意地浏览模块文件,因为我不知道它们的启动/处理顺序 是否有任何地方描述了这个流程,或者至少指出了一个起点,以便我可以从中找出其余部分?这些变量在CMake的代码

我已经开始在引擎盖下挖掘,以便更好地了解CMake的内部工作原理。我一直在浏览Modules目录中的文件,以了解运行CMake时发生的情况

到目前为止,我还无法确定如何/在哪里设置
CMAKE\u HOST\u APPLE
/
CMAKE\u HOST\u UNIX
/
CMAKE\u HOST\u WIN32
变量

谁能启发我

另一方面,我一直在随意地浏览模块文件,因为我不知道它们的启动/处理顺序


是否有任何地方描述了这个流程,或者至少指出了一个起点,以便我可以从中找出其余部分?

这些变量在CMake的代码中设置,周围是平台相关的
#ifdef
检查,因此可以说它们是在CMake本身的编译时设置的

我在查找有问题的源文件时也遇到了一些困难,因为添加这些默认变量定义的代码最近刚从移动到(参见此)

下面是来自
cmState.cxx
的一个示例:

有关CMake如何工作的更多信息,请参阅:

#if defined(__APPLE__)
  this->SetDefinition("APPLE", "1");
  this->SetDefinition("CMAKE_HOST_APPLE", "1");
#endif