This is a C project template with the following features:
- CMake build scripts for building libraries, applications, and tests.
- Integrated with Raylib.
- Integrated with Unity unit test framework.
- Integrated with FetchContent for library dependencies like Unity.
- Resource folder to include assets
- Updated and improved version of C-project-template
yay -Sy clang cmake lcov glfw libx11 libxcursor libxinerama libxrandr vulkan-headers xorg-server-devel xorg-xinput
sudo apt-get install clang cmake lcov libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev
This will build cmake files and download dependencies
make setup
# Debug build
make debug
# Release build
make release
This will build and run unity tests
make test
This will build and run unity tests and generate reports for coverage (depends on lcov)
make coverage
# This part is optional: Generates a html with more coverage details
genhtml build/coverage/coverage.info --output-directory build/coverage/out
This will delete generated files for debug and release
make clean
This will open an Raylib white window with the unlicense logo on it.
# Debug bin
./build/debug/bin/example_app
# Release bin
./build/release/bin/example_app
./
├── .github
│ └── workflows -- Github workflows folder.
├── app -- Application source code
├── build
│ ├── cmake -- Cmake Finders for external compiled libs.
│ ├── debug -- Cmake debug build generated files.
│ │ ├── bin -- Application debug binaries.
│ │ └── resources -- Application resources assets symbolic link.
│ └── release -- Cmake release build generated files.
│ ├── bin -- Application release binaries.
│ └── resources -- Application resources assets symbolic link.
├── resources -- Application resources assets folder.
├── src -- Library source code and headers.
└── test -- Test source code.
└── unity -- Unity test framework source.
This is free and unencumbered software released into the public domain.
For more information, please refer to http://unlicense.org/