{"id":26450949,"url":"https://github.com/networkflux/cbuildtool","last_synced_at":"2025-03-18T16:06:43.777Z","repository":{"id":167586974,"uuid":"642940057","full_name":"NetworkFlux/CBuildTool","owner":"NetworkFlux","description":"Simple C/C++ Project Generator","archived":false,"fork":false,"pushed_at":"2023-10-25T17:50:39.000Z","size":18,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-10-25T18:58:49.032Z","etag":null,"topics":["automation","c","cpp","makefile"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NetworkFlux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-05-19T17:41:30.000Z","updated_at":"2023-10-25T18:04:41.000Z","dependencies_parsed_at":"2023-05-29T02:00:38.016Z","dependency_job_id":null,"html_url":"https://github.com/NetworkFlux/CBuildTool","commit_stats":null,"previous_names":["networkflux/cbuildtool"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetworkFlux%2FCBuildTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetworkFlux%2FCBuildTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetworkFlux%2FCBuildTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetworkFlux%2FCBuildTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetworkFlux","download_url":"https://codeload.github.com/NetworkFlux/CBuildTool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244257261,"owners_count":20424131,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","c","cpp","makefile"],"created_at":"2025-03-18T16:06:40.816Z","updated_at":"2025-03-18T16:06:43.772Z","avatar_url":"https://github.com/NetworkFlux.png","language":"C","readme":"# C/C++ Build Tool\n\n## Introduction\n\nThis tool is designed to streamline the process of setting up new C/C++ projects by automatically generating the basic necessary files for you. The architecture of the generated project includes three root folders: `src`, `include`, and `obj` (which is created at compilation). It also includes a ready-to-go `Makefile`. The `src` folder contains a basic `main.c/cpp` file, while the `include` folder holds a basic `.h/hpp` file.\n\nWith just one command, you can set up an entire C/C++ project. The included Bash script generates an executable that is moved to the `/usr/local/bin` folder, enabling you to initiate new projects from anywhere on your machine.\n\n## Installation\n\nTo use the tool, follow the steps below:\n\n1. Clone this repository to your local machine.\n\n```bash\ngit clone https://github.com/NetworkFlux/CBuildTool.git\n```\n\n2. Navigate into the cloned repository.\n\n```bash\ncd CBuildTool\n```\n\n3. Execute the installation script.\n\n```bash\nbash install_cbt.sh\n```\n\nNote: The installation script requires `sudo` privileges as it needs to move files to `/usr/local/bin`. If you don't have sudo privileges, you can simply run the make command to generate the executable and launch it from its current location.\n\nAnother Note: The generated files will match the files in the `templates` folder inside the repo. You can modify these templates as you want, and the CBuildTool will create projects based on your templates. Note that the `install_cbt.sh` script will create a new folder in `/usr/local/share` that will contain the `templates` folder. If you want to update them you must update them there. And if you don't have sudo privileges, update those in this repo.\n\n## Usage\n\nOnce installed, you can create a new C/C++ project using the following command:\n\n```bash\ncbt\n```\n\nYou will be prompted to enter a project name and select your desired language, and a project with the aforementioned architecture will be generated, ready to go.\n\nFeel free to report any bugs or possible imporvements.\n\n## Notes\n\nFor my fellow 42 students, I would highly recommend taking a closer look at the actual code, as the generated project does not comply with the Norminette. I can't just hand it to you 🤙\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetworkflux%2Fcbuildtool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetworkflux%2Fcbuildtool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetworkflux%2Fcbuildtool/lists"}