有没有办法获得Jamroot文件的位置,以便在项目的另一个Jamfile中作为常量使用?
现在,我的Jamroot中有这样一个杂乱的东西:
constant HOME : [ os.environ HOME ] ;
constant MYPROJECT_ROOT : $(HOME)/src/myproject ;然后,我可能会在另一个Jamfile中执行类似的操作,以允许我包含带有项目根路径的头文件。
<include>$(MYPROJECT_ROOT)这尤其不能令人满意,因为这意味着如果我与其他人共享这个项目,他们要么必须将其保持在与他们的$HOME完全相同的位置,要么他们必须更新Jamroot。
我感兴趣的是这样做的聪明方式,具体包括(而不是我愚蠢的初学者使用常量的方式)。但是我也有兴趣按照我所要求的方式来解决这个问题--通过将Jamroot位置设置为一个常量--因为这在其他方面也可能有用。
发布于 2012-07-04 12:56:42
使用path-constant规则。
path-constant MYPROJECT_ROOT : . ;然后在子项目中,您可以使用$(MYPROJECT_ROOT)获取Jamroot的目录。
请注意,人们通常将此变量命名为TOP而不是MYPROJECT_ROOT,但这只是一种约定。
https://stackoverflow.com/questions/11317026
复制相似问题