genrule( name = "cbor_cmake", srcs = glob(["**"]), outs = [ "libcbor.a", "cbor.h", "cbor/arrays.h", "cbor/bytestrings.h", "cbor/callbacks.h", "cbor/cbor_export.h", "cbor/common.h", "cbor/configuration.h", "cbor/data.h", "cbor/encoding.h", "cbor/floats_ctrls.h", "cbor/ints.h", "cbor/maps.h", "cbor/serialization.h", "cbor/streaming.h", "cbor/strings.h", "cbor/tags.h", ], cmd = " && ".join([ # Remember where output should go. "INITIAL_WD=`pwd`", "cd `dirname $(location CMakeLists.txt)`", "cmake -DCMAKE_BUILD_TYPE=Release .", "cmake --build .", # Export the .a and .h files for cbor rule, below. "cp -R src/* $$INITIAL_WD/$(RULEDIR)", "cp cbor/configuration.h $$INITIAL_WD/$(RULEDIR)/cbor", ]), visibility = ["//visibility:private"], ) cc_import( name = "cbor", hdrs = [ "cbor.h", "cbor/arrays.h", "cbor/bytestrings.h", "cbor/callbacks.h", "cbor/cbor_export.h", "cbor/common.h", "cbor/configuration.h", "cbor/data.h", "cbor/encoding.h", "cbor/floats_ctrls.h", "cbor/ints.h", "cbor/maps.h", "cbor/serialization.h", "cbor/streaming.h", "cbor/strings.h", "cbor/tags.h", ], static_library = "libcbor.a", visibility = ["//visibility:public"], )