boost build:目标文件名中的点

时间:2013-05-30 13:15:12

标签: filenames boost-build

是否有可能在文件名中生成带点的文件的目标?我不需要它们的目标名称,只需要它产生的文件名,例如

lib Auhorization@Plugin : ...
如果它产生libAuthorization.Plugin.so并且我可以从其他目标使用它,那么

会非常好:

exe Application : ... : <library>Authorization@Plugin ...

由于使用圆点是公司惯例,我不能只使用下划线。

一个选项是改变目标名称的一些要求 - 如<name>

我也不能使用简单的重命名后期构建步骤,因为应用程序必须链接到libAuthorization.Plugin.so,而不是libAuthorization_Plugin.so。但如果其他东西是可能的,我也可以使用它。

构建过程本身在Linux下使用gcc运行。

1 个答案:

答案 0 :(得分:1)

对于任何复杂的命名方案,您都可以使用&lt; tag&gt;特征。为了您的目的,它可能看起来像这样:

import regex ;
import type ;

rule at-to-dot ( name : type : property-set )
{
    local name = [ regex.replace $(name) @ . ] ;
    local ext = [ type.generated-target-suffix $(type) : $(property-set) ] ;
    return $(name).$(ext) ;
}

lib Auhorization@Plugin : bbb.cpp : <tag>@at-to-dot ;