load("@bazel_skylib//rules:expand_template.bzl", "expand_template") load("@rules_cc//cc:cc_library.bzl", "cc_library") load("@rules_cc//cc:cc_test.bzl", "cc_test") expand_template( name = "CUnit_h", out = "CUnit/Headers/CUnit.h", substitutions = { "@RELEASE@": "3", "@VERSION@": "2.1", }, template = "CUnit/Headers/CUnit.h.in", ) CUNIT_COPTS = select({ "@rules_cc//cc/compiler:msvc-cl": [ "/w", ], "//conditions:default": [ "-w", ], }) cc_library( name = "cunit", srcs = [ "CUnit/Sources/Automated/Automated.c", "CUnit/Sources/Basic/Basic.c", "CUnit/Sources/Console/Console.c", "CUnit/Sources/Framework/CUError.c", "CUnit/Sources/Framework/MyMem.c", "CUnit/Sources/Framework/TestDB.c", "CUnit/Sources/Framework/TestRun.c", "CUnit/Sources/Framework/Util.c", ], hdrs = glob( ["CUnit/Headers/*.h"], ) + [":CUnit_h"], copts = CUNIT_COPTS, include_prefix = "CUnit", includes = ["CUnit/Headers"], local_defines = ["RELEASE=3"], strip_include_prefix = "CUnit/Headers", visibility = ["//visibility:public"], ) # Shared test code used by BasicTest, AutomatedTest, and ConsoleTest examples cc_library( name = "example_tests", srcs = ["Examples/ExampleTests.c"], hdrs = ["Examples/ExampleTests.h"], copts = CUNIT_COPTS, includes = ["Examples"], deps = [":cunit"], ) cc_test( name = "BasicTest", srcs = ["Examples/BasicTest/BasicTest.c"], copts = CUNIT_COPTS, deps = [":example_tests"], ) cc_test( name = "AutomatedTest", srcs = ["Examples/AutomatedTest/AutomatedTest.c"], copts = CUNIT_COPTS, deps = [":example_tests"], ) cc_test( name = "ConsoleTest", srcs = ["Examples/ConsoleTest/ConsoleTest.c"], copts = CUNIT_COPTS, tags = ["manual"], deps = [":example_tests"], ) cc_test( name = "CUnitExample", srcs = ["Examples/Demo_fprintf/CUnitExample.c"], copts = CUNIT_COPTS, deps = [":cunit"], )