diff options
Diffstat (limited to 'libs/cglm/CONTRIBUTING.md')
-rw-r--r-- | libs/cglm/CONTRIBUTING.md | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libs/cglm/CONTRIBUTING.md b/libs/cglm/CONTRIBUTING.md new file mode 100644 index 0000000..f25a6ab --- /dev/null +++ b/libs/cglm/CONTRIBUTING.md @@ -0,0 +1,53 @@ +# CONTRIBUTING + +Any contributions (code, documentation, ...) are welcome. + +# New Features +- This library may not accept all new features, it is better to create an issue and get approval before coding +- You must add test for every new feature +- The feature must be compiled on both UNIX/POSIX systems (e.g. macos, linux...) and Windows + +# Code Style +This library is written with C99, don't try to add C++ files (yes it can compiled into lib), +if you have enough reason to add C++ files than create an issue and get approval before coding, + +- All functions must have `glm` prefix +- Lines should be wrapped at 80 characters. +- Don't invent new style for existing ones +- Use C89 style comments (`/* comments */`) not C++ style comments (`// comments`) +- Don't use TABs instead use 2 spaces for TABs +- All indents must be 2 spaces, not 1 nor 4 space +- All functions in `include` folder must be exported by `CGLM_EXPORT` and wrapped by `extern "C" {` for C++ +- Crate new line for return type, attribs: + +```C +CGLM_INLINE +void +glm_mul(mat4 m1, mat4 m2, mat4 dest) +``` + +not acceptable: + +```C +CGLM_INLINE void glm_mul(mat4 m1, mat4 m2, mat4 dest) +``` +- Variables must be declared at the top of a scope before usage: +```C +int x; +int y; + +x = y = 0; +``` + +not acceptable: + +```C +int x; + +x = 0; +int y = 0; +``` + +- All files must retain same LICENSE statement +- Code with warnings will not be accepted, please suppress them (not by disabling them) +- Run code anaylysis before submitting pull requests, if you use Xcode you can enable Sanitizer in scheme, you can use valgrind in linux |