【问题标题】:How to tell scons to exclude certain files from using the build cache如何告诉 scons 从使用构建缓存中排除某些文件
【发布时间】:2014-06-12 16:39:29
【问题描述】:

Scons 提供了一个使用构建缓存的选项,用于通过从该缓存中提取最新文件来减少构建时间。缓存的执行似乎是全球性的。例如,有强制缓存、禁用缓存、显示缓存等命令。CacheDir 中似乎没有排除某些文件的方法,因为可能存在确实应该重新编译的文件。

鉴于这种情况,一些合理的解决方案是什么?

来源: CacheDir 来源:http://www.scons.org/doc/production/HTML/scons-api/SCons.CacheDir-pysrc.html

禁用缓存示例:http://www.scons.org/doc/1.2.0/HTML/scons-user/x4168.html

【问题讨论】:

    标签: caching scons


    【解决方案1】:

    没有缓存:

    P = Program(...)
    NoCache(P)
    

    【讨论】:

    • 这正是我所需要的。
    • 可以指定一个路径来排除里面的所有目标吗?像这样NoCache("#bin/*")
    【解决方案2】:

    你想错了。您不是从缓存中排除对象,而是告诉 scons 正在构建的对象不会进入缓存。缓存目录是根据环境设置的,所以你需要做这样的事情

    noCacheEnv = env.Clone()
    noCacheEnv.CacheDir(None)
    noCacheEnv.Program('cantbecached.c')
    

    【讨论】:

      猜你喜欢
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多