替换 boost 列表中的模式 build/b2/bjam

Replace pattern in list in boost build/b2/bjam

如何在 boost 构建中替换字符串列表中的模式?

在 GNU make 中,通常可以使用 substitution for changing file extension, or patsubst 来完成。

这是一个使用内置模块 regex 中的规则“re​​place-list”的示例:

SWIG_SOURCES = [ glob *.i ] ;

import regex ;
SWIG_GENERATED_CPP_FILES = [ regex.replace-list $(SWIG_SOURCES) : \.i : _wrap.cpp ] ;

假设文件 example_file.i 位于目录中,它的名称将被 glob 添加到列表 SWIG_SOURCES 中,并将成为列表中的 example_file_wrap.cpp SWIG_GENERATED_CPP_FILES;

\ 用来表示 . 是一个小点,没有它们 . 将匹配任何字符。

$匹配字符串的结尾。

更多信息在 documentation of regex builtin