如果标题更改,则触发重建

时间:2012-09-10 19:01:45

标签: scons

我有非系统标头,我用它来通过SCons编译程序。问题是它们有时会改变,但SCons似乎根本不会扫描标题中的变化。 有没有办法告诉SCons扫描标题的变化?

1 个答案:

答案 0 :(得分:5)

假设您正在讨论c / c ++,SCons应该始终扫描头文件,假设包含路径已正确设置为这样做。

如果使用CPPPATH构造变量指定了包含路径,则将扫描该路径中的包含文件以进行更改。使用此变量指定的包含路径不应该前置-I,因为SCons将以可移植的方式执行此操作。

此变量可以附加到如下:

env = Environment()
# These paths WILL BE scanned for header file changes
env.Append(CPPPATH = ['path1', '/another/path', 'path3'])

如果已在CCFLAGSCXXFLAGS构造变量中指定了包含路径,则该路径中的包含文件将 为扫描变化。其中一个变量中指定的包含路径必须 -I前置。当指定系统头包含很可能永远不会改变的路径时,这种方法很有用,从而加快了构建过程。

路径可以附加到CXXFLAGS变量:

env = Environment()
# These paths will NOT be scanned for header file changes
env.Append(CXXFLAGS = ['-Ipath1', '-I/another/path', '-Ipath3'])

Here是其余SCons构造变量的列表。