{"id":18122956,"url":"https://github.com/bacoo/zmake","last_synced_at":"2025-10-13T21:44:19.904Z","repository":{"id":257697986,"uuid":"859058920","full_name":"bacoo/zmake","owner":"bacoo","description":"C++ builds C++","archived":false,"fork":false,"pushed_at":"2025-04-30T10:45:18.000Z","size":182,"stargazers_count":23,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T12:05:24.812Z","etag":null,"topics":["bazel","build","cmake","cplusplus","cpp","make","makefile","scons"],"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/bacoo.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-18T02:26:28.000Z","updated_at":"2025-04-30T10:45:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"a738d832-3ac5-4e42-9c02-dff1cda645a0","html_url":"https://github.com/bacoo/zmake","commit_stats":null,"previous_names":["bacoo/zmake"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bacoo/zmake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bacoo%2Fzmake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bacoo%2Fzmake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bacoo%2Fzmake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bacoo%2Fzmake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bacoo","download_url":"https://codeload.github.com/bacoo/zmake/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bacoo%2Fzmake/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017053,"owners_count":26085951,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bazel","build","cmake","cplusplus","cpp","make","makefile","scons"],"created_at":"2024-11-01T07:07:22.644Z","updated_at":"2025-10-13T21:44:19.873Z","avatar_url":"https://github.com/bacoo.png","language":"C++","readme":"## Introduction\n\nBuild your C++ project using the C++ rules you defined, which are implemented\nin C++, so you can use std::string/std::vector/std::map these STL containers\nand you can define any variable, function or class. Unbelievable, right?\n\nDefine your building rules in 'BUILD.inc' or 'BUILD.cpp' under each dir, and\ndefine global common vars/funcs/rules in '${project_root}/WORKSPACE.h', and put\nsome preparation works(import other libraries or adjust default flags/compilers)\ninto root BUILD.inc(normally, it's '${project_root}/BUILD.inc').\n\nSee all available C++ APIs in [zmake.h](https://github.com/bacoo/zmake/blob/main/zmake.h) and the demo under [demo](https://github.com/bacoo/zmake/tree/main/demo);\n\nFirstly, use `zmake` to build your project(it'll firstly generate 'BUILD.exe'\nunder your project root dir and then run `./BUILD.exe` to build), and you can\nuse `./BUILD.exe` to rebuild if you only modify project's source/header files(no\nchange for the building rules, i.e.: no any change for any BUILD.inc/BUILD.cpp/\nWORKSPACE.h);\n\nAll generated files locate under '.zmade/', and if you want to clean, just\n`rm -rf .zmade/`, and you can find the files that record original compile or\nlink commands by `find .zmade/ -name '*.cmd'`;\n\nUsing `zmake -h` to see all options.\n\nHere is a [PPT](https://docs.google.com/presentation/d/1OAGkP0JPL35BVcp9hyJFMPcm3qqrBYYGl1hhDyuVBco/edit#slide=id.g30258cc35aa_0_0) for introduction zmake.\n\nReport bugs to [bacoo_zh@163.com](bacoo_zh@163.com)\n\n## Install\n\nExecute following commands:\n\n* git clone https://github.com/bacoo/zmake.git\n* cd zmake\n* make -j \u0026\u0026 make clean\n\n`zmake` and its headers and lib will be installed under ~/bin/\n\n## Build [demo](https://github.com/bacoo/zmake/tree/main/demo)\n\nYou need to build [project1](https://github.com/bacoo/zmake/tree/main/demo/project1) firstly, since it is depended by [project2](https://github.com/bacoo/zmake/tree/main/demo/project2).\n\n1. build demo/project1\n\n* cd demo/project1\n* zmake -e\n\n2. build demo/project2\n\n* cd demo/project2\n* zmake -v\n\n3. build demo/project3/\n\n* cd demo/project3/\n* zmake -s\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbacoo%2Fzmake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbacoo%2Fzmake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbacoo%2Fzmake/lists"}