diff options
Diffstat (limited to 'etc/README.template.md')
-rw-r--r-- | etc/README.template.md | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/etc/README.template.md b/etc/README.template.md new file mode 100644 index 0000000..1d1e432 --- /dev/null +++ b/etc/README.template.md @@ -0,0 +1,55 @@ +# C/C++ rules for the `just` build system + +A collection of rules for building C/C++ libraries and binaries. + +## How to use this Repository + +There are two ways to import this repository. You can generate your +`repos.json` from a template (`repos.template.json`) by importing +the `rules-cc` repository with the tool `just-import-git` + +~~~sh +$ just-import-git -C repos.template.json --as rules-cc -b master https://github.com/just-buildsystem/rules-cc > repos.json +~~~ + +Importing this way will also pull in `protoc` and `grpc_cpp_plugin` +as a dependency for generating bindings for proto dependencies, if +this feature is used. + +Alternatively, the `rules-cc` repository can be added manually to +your `repos.json`. + +~~~jsonc +... + , "rules-cc": + { "repository": + { "type": "git" + , "branch": "master" + , "commit": "3a5f0f0f50c59495ffc3b198df59e6edb8416450" + , "repository": "https://github.com/just-buildsystem/rules-cc" + , "subdir": "rules" + } + } +... +~~~ + +Importing this way, `protoc` and `grpc_cpp_plugin` will be taken +from the host system. To change the binary names or to bring your +own proto toolchain, add a corresponding `target_root` layer (and +provide the needed binding, if your target files refer to other +repositories containing the toolchain). + +## Consume and being consumed by CMake Libraries + +For interoperability with CMake projects, see + +- [consume CMake libraries](./doc/consume-cmake-libraries.md) +- [being consumed by CMake](./doc/being-consumed-by-cmake.md) + +## Rule Documentation + +In this documentation, the standard configuration variables +`"AR"`, `"CC"`, `"CXX"`, `"CFLAGS"`, `"CXXFLAGS"`,`"LDFLAGS"`, +`"ADD_CFLAGS"`, `"ADD_CXXFLAGS"`, `"ADD_LDFLAGS"`, `"ENV"`, +`"BUILD_POSITION_INDEPENDENT"` are ommitted. + |