aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-09-10 18:44:01 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-06 07:39:58 +0200
commitff99cdf05b282fcbc1de630e2cbc59367897a6fb (patch)
tree127235a86a4d799864b78999616617ed5aa2d116
parent6bf7948842d8190348f9c616f058527276b22157 (diff)
Update readme
-rw-r--r--README.md45
1 files changed, 36 insertions, 9 deletions
diff --git a/README.md b/README.md
index 55ce683..57cd295 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,43 @@
-# TODO
-Make shell scripts portable. Currently they only work with bash... Use shellcheck to find the issues.
-
# Simple Build System for Native Languages
Sibs is still in very early testing phase, use with caution. New releases can have changes that are not backwards compatible.
-
Sibs is inspired by [Cargo](https://github.com/rust-lang/cargo/), you can think of it like a C/C++/Zig version of Cargo. Sibs can build cmake projects as well, so you can use sibs with existing cmake projects with minimal work.
-
List of packages can be found at https://gitlab.com/DEC05EBA/sibs_packages/raw/master/packages.json
+# Usage
+```
+Usage: sibs COMMAND
+
+Simple Build System for Native Languages
+
+Commands:
+ build Build a project that contains a project.conf file
+ new Create a new project
+ init Initialize project in an existing directory
+ test Build and run tests for a sibs project
+ package Create a redistributable package from a sibs project. Note: Redistributable packages can't use system packages to build
+ platform Print name of platform (to stdout) and exit
+ platforms Print list of supported platforms (to stdout) and exit
+```
+
+# Examples
+Here is a minimal config file:
+```
+[package]
+name = "hello_world"
+type = "executable"
+version = "0.1.0"
+platforms = ["any"]
+```
+There are full project examples with dependencies in the examples directory.
+Use `sibs init` to create a project, which includes a config file to get started and then build with with `sibs build`
+and run the binary under `sibs-build/<platform>/debug/<executable_name>`.
+
### Supported platforms
-|Linux|Windows(1)|MacOS |OpenBSD |Haiku|... |
-|-----|-------|-----------|-----------|-----|-----------|
-|✓ |✓ |✓ |✓ |✓ |TBD(2) |
+|Linux|Windows(1)|MacOS|OpenBSD|Haiku|... |
+|-----|----------|-----|-------|-----|------|
+|✓ |✓ |✓ |✓ |✓ |TBD(2)|
-(1). Msvc, mingw-w64 and cygwin are supported. Cygwin is defined as a linux platform while mingw-w64 is defined as a windows system.
+(1). Msvc, mingw-w64 and cygwin are supported. Cygwin is defined as a linux platform while mingw-w64 is defined as a windows system.\
(2). Sibs is intended to work on as many platforms as possible, you can help by porting sibs to another platform. Should only be minor changes if the platform is unix-like.
Linux is the primary platform, the platform which master branch is guaranteed to compile on.
@@ -187,3 +211,6 @@ Do not use CMAKE_BUILD_TYPE as sibs will automatically use it depending on the o
Optional. The name is structured in the following way: config.libraryType
where libraryType is either "static" or "dynamic" - different configurations depending on if the package is included as a static or dynamic library by a dependant package.
Args specified under \[cmake.static] or \[cmake.dynamic] are appended to the args specified under \[cmake]
+
+# TODO
+Make shell scripts portable. Currently they only work with bash... Use shellcheck to find the issues.