这是我实际的WORKSPACE中的一个示例,无论我在Windows还是Linux上进行测试,都可以使我的项目看到TUT(模板单元测试)。
new_local_repository(
name = "win32_tut",
path = "/d/diego/progs/c++/lib/tut/",
build_file_content = """
cc_library(
name = "tut",
srcs = glob([
"tut/*.hpp",
]),
hdrs = glob([
"*.h",
]),
visibility = ["//visibility:public"],
)
""",
)
new_local_repository(
name = "linux_tut",
path = "/usr/include/",
build_file_content = """
cc_library(
name = "tut",
srcs = glob([
"tut/*.hpp",
]),
hdrs = glob([
"tut.h",
]),
visibility = ["//visibility:public"],
)
""",
)
new_local_repository(
name = "tut",
path = ".",
build_file_content = """
cc_library(
name = "tut",
deps = select({
"@bazel_tools//src/conditions:windows": ["@win32_tut//:tut"],
"//conditions:default": ["@linux_tut//:tut"],
}),
visibility = ["//visibility:public"],
)
""",
)
我所有的cc_test规则都成功取决于"@tut//:tut"
。这对我有用,但是似乎我在滥用WORKSPACE文件。有没有更好的方法来实现这一目标?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句