github.com/sercand/please@v13.4.0+incompatible/test/cc_rules/BUILD (about)

     1  subinclude("//build_defs:plz_e2e_test")
     2  
     3  # Test the way cc rules depend on one another; ideally we should be able to
     4  # pick up all transitive dependencies correctly but compile the .o files independently.
     5  
     6  cc_library(
     7      name = "lib1",
     8      srcs = ["lib1.cc"],
     9      hdrs = ["lib1.h"],
    10  )
    11  
    12  cc_library(
    13      name = "lib2",
    14      srcs = ["lib2.cc"],
    15      hdrs = ["lib2.h"],
    16      visibility = ["//test/cc_rules/..."],
    17      deps = [
    18          ":lib1",
    19      ],
    20  )
    21  
    22  cc_test(
    23      name = "cc_deps_test",
    24      srcs = ["deps_test.cc"],
    25      deps = [
    26          ":lib2",
    27      ],
    28  )
    29  
    30  # lib2 should express a direct dependency on lib1
    31  plz_e2e_test(
    32      name = "cc_query_somepath_test_1",
    33      cmd = "plz query somepath //test/cc_rules:lib2 //test/cc_rules:lib1",
    34      expected_output = "cc_query_somepath_test_1.txt",
    35  )
    36  
    37  # lib2's object file should not have any dependency on lib1's though.
    38  plz_e2e_test(
    39      name = "cc_query_somepath_test_2",
    40      cmd = "plz query somepath //test/cc_rules:_lib2#cc //test/cc_rules:_lib1#cc",
    41      expected_output = "cc_query_somepath_test_2.txt",
    42  )
    43  
    44  # These rules test that cc_library correctly accepts multiple srcs.
    45  cc_library(
    46      name = "multisrc_lib",
    47      srcs = [
    48          "multisrc_1.cc",
    49          "multisrc_2.cc",
    50      ],
    51      hdrs = ["multisrc.h"],
    52  )
    53  
    54  cc_test(
    55      name = "cc_multisrc_test",
    56      srcs = ["cc_multisrc_test.cc"],
    57      deps = [":multisrc_lib"],
    58  )
    59  
    60  # This tests that cc_library works correctly with inputs that are multiple sources.
    61  filegroup(
    62      name = "cc_multiple_srcs",
    63      srcs = [
    64          "multisrc_1.cc",
    65          "multisrc_2.cc",
    66      ],
    67  )
    68  
    69  cc_library(
    70      name = "multisrc_lib_2",
    71      srcs = [":cc_multiple_srcs"],
    72      hdrs = ["multisrc.h"],
    73  )
    74  
    75  cc_test(
    76      name = "cc_multisrc_test_2",
    77      srcs = ["cc_multisrc_test.cc"],
    78      deps = [":multisrc_lib_2"],
    79  )