{"id":25339838,"url":"https://github.com/pekochan069/nobpp","last_synced_at":"2025-04-08T11:30:14.154Z","repository":{"id":270694232,"uuid":"911179141","full_name":"pekochan069/nobpp","owner":"pekochan069","description":"NoBuild C++","archived":false,"fork":false,"pushed_at":"2025-01-20T16:05:07.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T07:43:05.868Z","etag":null,"topics":["cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pekochan069.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-02T12:21:45.000Z","updated_at":"2025-01-20T16:05:08.000Z","dependencies_parsed_at":"2025-01-02T13:31:18.863Z","dependency_job_id":"bf10d762-937b-438e-9ba2-075640491399","html_url":"https://github.com/pekochan069/nobpp","commit_stats":null,"previous_names":["pekochan069/nobpp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekochan069%2Fnobpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekochan069%2Fnobpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekochan069%2Fnobpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekochan069%2Fnobpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pekochan069","download_url":"https://codeload.github.com/pekochan069/nobpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247833281,"owners_count":21003734,"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":["cpp"],"created_at":"2025-02-14T07:42:44.029Z","updated_at":"2025-04-08T11:30:14.119Z","avatar_url":"https://github.com/pekochan069.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nobpp (NoBuild c++)\n\n## Glossary\n\nThis project is a build tool(kind of) for C/C++.\n\nThis project is heavily inspired by [tsoding](https://www.twitch.tv/tsoding)'s [nob.h](https://github.com/tsoding/nob.h).\n\nThe idea is simple.\n\n\u003e I should be able to create c++ binary with only compiler. No cmake, No make, No visual studio, No anything but compiler.\n\n## How to use it\n\n### Requirements\n\n[clang](https://clang.llvm.org/) is required if you don't want to edit the nobpp source code.\n\n\u003e [!NOTE]\n\u003e I chose Clang as the compiler of choice for cross-platform support, but with some modifications to the source code, it can be configured to work with GCC, MSVC, or other compilers as needed.\n\n### Using nobpp\n\nCopy Paste the `nobpp.hpp` to your project.\n\n```sh\nwget https://raw.githubusercontent.com/pekochan069/nobpp/refs/heads/main/nobpp.hpp\n```\n\nor\n\n```sh\ncurl -o nobpp.hpp https://raw.githubusercontent.com/pekochan069/nobpp/refs/heads/main/nobpp.hpp\n```\n\nAfter that, write build script for your project.\n\n```c++\n// build.cpp or nobpp.cpp or whatever.cpp\n#include \"nobpp.hpp\"\n\nint main()\n{\n    nobpp::CommandBuilder builder = nobpp::CommandBuilder();\n\n    builder.set_language(nobpp::Language::cpp)\n        .set_target_os(nobpp::TargetOS::windows)\n        .set_optimization_level(nobpp::OptimizationLevel::o3)\n        .add_options({\"-ffast-math\"})\n        .add_file(\"./test.cpp\")\n        .add_build_dir(\"./bin\")\n        .set_output(\"test\")\n        .run();\n}\n```\n\n### Compile nobpp\n\n`nobpp` requires clang version which support c++14 or higher.\n\n```sh\nclang++ -std=c++14 -O3 build.cpp -o build.exe # On Windows\nclang++ -std=c++14 -O3 build.cpp -o build     # On Linux\n```\n\nAfter compilation, you can just run the executable and your project will be compiled.\n\n## support\n\n### Platform\n\n- [x] Windows\n- [ ] Linux\n\n### Output Type\n\n- [x] Executable\n- [ ] Static Library\n- [ ] Dynamic Library\n\n### Features\n\n- [x] Command Queue\n- [ ] Task\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpekochan069%2Fnobpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpekochan069%2Fnobpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpekochan069%2Fnobpp/lists"}