Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/charlesaverill/c_project
Friendly Template for C Projects
https://github.com/charlesaverill/c_project
autotools autotools-demo autotools-example c cmake doxygen template
Last synced: about 2 months ago
JSON representation
Friendly Template for C Projects
- Host: GitHub
- URL: https://github.com/charlesaverill/c_project
- Owner: CharlesAverill
- License: unlicense
- Created: 2022-09-18T03:14:15.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-10T01:04:06.000Z (about 1 year ago)
- Last Synced: 2024-04-20T00:54:40.473Z (9 months ago)
- Topics: autotools, autotools-demo, autotools-example, c, cmake, doxygen, template
- Language: C
- Homepage: https://seashell.charles.systems/C_Project/
- Size: 277 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog
- License: COPYING
Awesome Lists containing this project
README
# C_Project
A template for C Projects using either [CMake, Autotools] and Doxygen for building and documentation generation, respectively.
## Features
- Includes automatically look inside of the `include` directory
- By including `info.h`, variables defined in `CMakeLists.txt` or `include/autotools_info.h.in` are exposed to the program, such as the project's name and version information
- Argument parsing
- Scripts to format, compile, and run the program, script to build documentation with Doxygen
- Doxygen formatting can be modified in `Doxyfile`
- Project code formatting can be modified in `.clang-format`
- Github Action to auto-generate documentation with Doxygen and publish to Github Pages
- A `gh-pages` branch must exist for this Action to function without error
- View docs [here](https://charles.systems/C_Project/)
- `compile.sh` will compile the project
- `run.sh` will compile and run the project## Requirements
- For CMake
- `cmake==3.13.0^`
- `doxygen==1.9.1^`
- `clang-format==14.0.0^`
- A C compiler## Setup
To configure the directory for either CMake or Autotools, run `setup.sh [either "cmake" or "autotools" here]`. After this, it should be possible to run the program with just `run.sh`
## Notes
This template repository is licensed with the [Unlicense](LICENSE), so derived repositories from this template are free to be relicensed as their owners see fit.