Bazel支持在所谓的“外源构建”中构建您的项目,该构建方式在当前源代码的外部构建项目,并将生成的输出文件保留在独立的目录中。这意味着您可以使用与源代码分开的目录来进行构建,而不会影响源代码的结构或文件。下面是一个简单的代码示例,展示如何使用外源构建来编译一个C++项目:
cc_library( name = "my_library", srcs = [ "src/foo.cpp", "src/bar.cpp", ... ], hdrs = [ "include/my_library/foo.h", "include/my_library/bar.h", ... ], visibility = ["//visibility:public"], deps = [ "//path/to/dependency1", "//path/to/dependency2", ... ], )