Create tool to export Bazel projects to CMake format.
This tool will export new project files that can be
used to build a subset of Skia using CMake. At present this
is the //:skia_public Bazel target, which results in a CMake
target to build libskia_public.a.
Suggested reviewing order:
1. //bazel/exporter/build_proto/ - the Go files are generated by
`protoc` to generate wrappers from some proto files from
https://github.com/bazelbuild/bazel/tree/master/src/main/protobuf.
More info in //bazel/exporter/build_proto/README.md.
2. //bazel/exporter/interfaces/ - the exporter interfaces.
3. //bazel/exporter/interfaces/mocks/ - the mockery generated mock
classes for testing.
4. //bazel/exporter/ - the package containing the implementation
of the Bazel to CMake exporter.
5. //bazel/exporter_tool/ - the application that uses the exporter
package to produce a new CMakeLists.txt file.
6. //bazel/Makefile - adds a new helper generate_cmake target that
uses the exporter_tool to create //CMakeLists.txt
Bug: skia:13486
Change-Id: Ia7649c43848f8a0db3a9dfb0a5f07d81b44bde7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/559402
Commit-Queue: Chris Mumford <cmumford@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
31 files changed