CMakeScripts的目的是什么?

时间:2015-05-24 13:01:11

标签: xcode cmake

我使用cmake -G Xcode配置了我的版本,并出现了一个名为CMakeScripts的目录,其中包含以下内容:

ALL_BUILD_cmakeRulesBuildPhase.makeDebug
ALL_BUILD_cmakeRulesBuildPhase.makeMinSizeRel
ALL_BUILD_cmakeRulesBuildPhase.makeRelease
ALL_BUILD_cmakeRulesBuildPhase.makeRelWithDebInfo
ReRunCMake.make
ZERO_CHECK_cmakeRulesBuildPhase.makeDebug
ZERO_CHECK_cmakeRulesBuildPhase.makeMinSizeRel
ZERO_CHECK_cmakeRulesBuildPhase.makeRelease
ZERO_CHECK_cmakeRulesBuildPhase.makeRelWithDebInfo

我在这个文件夹上找不到任何正式的CMake文档,但它似乎只是由Xcode生成器创建的。

那么,这个文件夹的目的是什么,而不是其他CMake文件夹(例如CMakeFiles),为什么它只被Xcode使用?

1 个答案:

答案 0 :(得分:1)

它们是用于破解Xcode的make文件的内部脚本。我检查了Source/cmGlobalXCodeGenerator.cxx,其中CMakeScripts路径是硬编码的。存储此路径的变量称为CurrentXCodeHackMakefile

这是打印在CMakeScripts中可以找到的一个文件中,它表示是一个帮助生成文件:

  

请勿编辑   这个makefile确保所有可链接的目标都是   与链接到默认值的任何内容保持同步:
    echo“不要直接调用”

     

为每个目标创建一个虚拟规则,使目标不必存在