SFML is a simple, fast, cross-platform and object-oriented multimedia API. It provides access to windowing, graphics, audio and network. It is originally written in C++, and this project is its official binding for the C language.
Development is focused on the next major version in the master
branch. No more features are planned for the 2.x release series.
- The
master
branch contains work in progress for the next major version CSFML 3. As such it's considered unstable, but any testing and feedback is highly appreciated. - The
2.6.1
tag is the latest official CSFML release and will be the last minor release in the 2.x series. - The
2.6.x
branch contains the latest bugfix work on CSFML 2.6.x, matching SFML's2.6.x
branch.
- Laurent Gomila ([email protected])
- Lukas Dürrenberger ([email protected])
- Chris Thrasher ([email protected])
- Zachariah Brown ([email protected])
You can get the latest official release on SFML website. You can also get the current development version from the Git repository.
There is no tutorial for CSFML, but since it's a binding you can use the C++ resources:
- The official tutorials
- The online API documentation
- The community wiki
- The community forum (or French)
Of course, you can also find the CSFML API documentation in the SDK.
Building CSFML follows typical CMake conventions. Here's how to get started.
- Install SFML. This may be done in a variety of ways including using a system package manager or building and installing SFML from source. The major version of SFML must match the major version of CSFML.
- Configure CSFML.
If you are building CSFML for the purpose of contributing, we recommend using the
dev
CMake preset. This will enable a number of useful settings related to developing the library. If needed, set theSFML_ROOT
CMake variable to tell CMake where to find your installation of SFML. TheCSFML_LINK_SFML_STATICALLY
option must align with whether your installation of SFML uses static or shared libraries. - Build CSFML.
The
install
target will install all public headers and libraries.
SFML and CSFML are open-source projects, and they need your help to go on growing and improving. Don't hesitate to post suggestions or bug reports on the forum, or post new bugs/features requests on the issue tracker. You can even fork the project on GitHub, maintain your own version and send us pull requests periodically to merge your work.