构建后重命名 bazel 输出(扩展)



我看到有一个线程已经讨论过了,但有点模糊:

我可以指示 bazel 向可执行文件发出".elf"后缀吗?

不幸的是,这对我的情况没有帮助。我正在尝试使用 Bazel 在 Windows 上编译 Autodesk Maya 的插件,所以我的输出需要是一个带有自定义扩展名.mll.dll文件。下面是如何设置我的 BUILD 文件的示例代码:

cc_binary(
name = "myPlugin.dll",  # can't rename this to .mll, otherwise bazel won't build
srcs = glob(
[
"myPlugin.h",
"myPlugin.cpp",
]
),
deps = [
"@maya_repo//:Foundation",
"@maya_repo//:OpenMaya",
],
linkopts = [
"-export:initializePlugin",
"-export:uninitializePlugin",
],
linkshared = True,
)

一切都编译了,但我似乎找不到将扩展名重命名为.mll的方法,我尝试在genrules上记录,但我无法使其工作。

有人可以指出我正确的方向吗?

genrule(
name = "plugin_mll",
srcs = ["myPlugin.dll"],
outs = ["myPlugin.mll"],
cmd = "cp $(location myPlugin.dll) $(location myPlugin.mll)",
)

或使用 Make 变量:

genrule(
name = "plugin_mll",
srcs = ["myPlugin.dll"],
outs = ["myPlugin.mll"],
cmd = "cp $< $@",
)

然后运行bazel build //path/to/package:plugin_mll以调用 genrule,或运行bazel build //path/to/package:myPlugin.mll直接生成文件目标。

相关内容

  • 没有找到相关文章

最新更新