SDL Wiki

Contributing to SDL

We appreciate your interest in contributing to SDL, this document will describe how to report bugs, contribute code or ideas or edit documentation.

Table Of Contents

Filing a GitHub issue

Reporting a bug

If you think you have found a bug and would like to report it, here are the steps you should take:

Suggesting enhancements

If you want to suggest changes for the project, here are the steps you should take:

Contributing code

This section will cover how the process of forking the project, making a change and opening a pull request.

Forking the project

The first step consists in making a fork of the project, this is only necessary for the first contribution.

Head over to https://github.com/libsdl-org/SDL and click on the Fork button in the top right corner of your screen, you may leave the fields unchanged and click Create Fork.

You will be redirected to your fork of the repository, click the green Code button and copy the git clone link.

If you had already forked the repository, you may update it from the web page using the Fetch upstream button.

Following the style guide

Code formatting is done using a custom .clang-format file, you can learn more about how to run it here.

Some legacy code may not be formatted, as such avoid formatting the whole file at once and only format around your changes.

For your commit message to be properly displayed on GitHub, it should contain:

For example:

Fix crash in SDL_FooBar.

This addresses the issue #123456 by making sure Foo was successful
before calling Bar.

Running the tests

Tests allow you to verify if your changes did not break any behaviour, here are the steps to follow:

Opening a pull request

Continuous integration

For each push and/or pull request, GitHub Actions will try to build SDL and the test suite on most supported platforms.

Its behaviour can be influenced slightly by including SDL-specific tags in your commit message:

Contributing to the documentation

Editing a function documentation

The wiki documentation for API functions is synchronised from the headers' doxygen comments. As such, all modifications to syntax; function parameters; return value; version; related functions should be done in the header directly.

Editing the wiki

Other changes to the wiki should done directly from https://wiki.libsdl.org/ ... Just click the "edit" link at the bottom of any page!


[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.