使用Bazel构建后自动复制可执行文件

时间:2018-08-11 19:06:26

标签: c++ bazel

假设我具有以下目录布局:

.../
  root/
    bin/
      sdl.dll
    src/
      main/
        main.cpp
        BUILD
      WORKSPACE

还有一个BUILD文件,内容为:

cc_binary(
    name = "test",
    srcs = ["main.cpp"]
)

我的构建命令行是:

bazel build //main:hello-world --symlink_prefix=/

我需要添加什么到我的BUILD文件中,以便将test.exe(和test.pdb,如果适用)复制到bin(与sdl.dll一起)?

我看着this page并尝试使用--output_base,但是比我想要的更多。

P.S:在“ Visual Studio”一词中,我希望将$(OutDir)或postbuild从$(OutDir)更改为.. \ bin

1 个答案:

答案 0 :(得分:1)

您不能直接使用Bazel进行此操作。由于密封性原因,Bazel不会写入您的源目录。解决方法是使用手动运行或通过使用bazel run的生成后步骤脚本。

另请参阅:How to write files to current directory instead of bazel-out