0

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

lib Auhorization@Plugin : ...

libAuthorization.Plugin.so如果它产生并且我可以从其他目标使用它,那将非常好:

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

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

一种选择是更改目标名称的某些要求<name>

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

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

4

1 回答 1

1

对于任何复杂的命名方案,您都可以使用 <tag> 功能。出于您的目的,它可能如下所示:

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 ;
于 2013-06-06T12:25:07.303 回答