【问题标题】:boost build: dots in target file nameboost build:目标文件名中的点
【发布时间】:2013-05-30 13:15:11
【问题描述】:

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

lib Auhorization@Plugin : ...

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

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

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

一个选项是更改目标名称的一些要求 - 例如&lt;name&gt;。

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

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

【问题讨论】:

    标签: filenames boost-build


    【解决方案1】:

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

    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 ;
    

    【讨论】:

    • 请您也看看stackoverflow.com/questions/11599986/…好吗?我浏览了 boost-build 邮件列表,在那里找到了一些东西,但它已经 7 岁了,还没有完成。现在我要写一些复杂的规则来处理它(通过用路径命名目标文件),但我想知道是否有更简单的方法......
    猜你喜欢
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多