{"id":51466257,"url":"https://github.com/ericnantel/cmake_examples","last_synced_at":"2026-07-06T11:31:39.251Z","repository":{"id":321640336,"uuid":"1086444798","full_name":"ericnantel/cmake_examples","owner":"ericnantel","description":"CMake Examples","archived":false,"fork":false,"pushed_at":"2025-11-07T03:58:20.000Z","size":150,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-07T05:35:19.746Z","etag":null,"topics":["cmake","cplusplus","crossplatform","ctest","doxygen","examples","googletest","native","tutorial"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericnantel.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-30T12:34:12.000Z","updated_at":"2025-11-07T03:58:23.000Z","dependencies_parsed_at":"2025-10-30T19:28:14.277Z","dependency_job_id":null,"html_url":"https://github.com/ericnantel/cmake_examples","commit_stats":null,"previous_names":["ericnantel/cmake_examples"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ericnantel/cmake_examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericnantel%2Fcmake_examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericnantel%2Fcmake_examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericnantel%2Fcmake_examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericnantel%2Fcmake_examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericnantel","download_url":"https://codeload.github.com/ericnantel/cmake_examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericnantel%2Fcmake_examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35189713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"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":["cmake","cplusplus","crossplatform","ctest","doxygen","examples","googletest","native","tutorial"],"created_at":"2026-07-06T11:31:37.629Z","updated_at":"2026-07-06T11:31:39.217Z","avatar_url":"https://github.com/ericnantel.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Getting Started\nClone the repo recursively:\n\ngit clone --recursive https://github.com/ericnantel/cmake_examples cmake_examples\n\n# Install prerequisites\n* git\n* cmake\n* ninja (recommended)\n* a C++ compiler (gcc, clang or msvc)\n* bear (optional)\n\n# Additionnal installs\nSome examples might require installing addtionnal packages on your system.\n\nIn [Episode 03](https://youtu.be/xLxtga-11iU) you will need to install:\n* doxygen\n\nIn [Episode 04](https://youtu.be/Ycl1ocm8xog) you will need to install:\n* googletest\n\n# List presets\n\n* cmake --list-presets\n\n# List workflow presets\n\n* cmake --workflow --list-presets\n\n# Configure preset\n\n* cmake --preset default\n* cmake --fresh --preset default\n\n# Build preset\n\n* cmake --build --preset default\n\n# Run preset tests (CTest and/or GoogleTest)\n\n* ctest --preset default\n\n# Execute workflow preset\n\n* cmake --workflow --preset default\n* cmake --workflow --fresh --preset default\n\n# Run executable\nEx toml_parser (Episode 01):\n\n* ./build/toml_parser\n\nEx test_simple (Episode 04):\n\n* ./build/GoogleTests\n\n# Watch YouTube Tutorials\n* [Episode 01 - C++ TOML Integration](https://youtu.be/iGJrAzn7Qic)\n* [Episode 02 - C++ Unity Plugin For Games !](https://youtu.be/lzul2prPbZE)\n* [Episode 03 - C++ Doxygen Docs](https://youtu.be/xLxtga-11iU)\n* [Episode 04 - C++ Unit Testing (CTest + GoogleTest)](https://youtu.be/Ycl1ocm8xog)\n\n# Bear + CMake\nUsually Makefile and Ninja generators can export compile commands\nfor Clangd (lsp), but if using Visual Studio or perhaps GCC then you\nmay need to use Bear to intercept build commands and produce those\ncompile commands. Also it produces a cleaner file imo. To use Bear,\nfirst you must install it (ideally with a package manager) and then\nyou can do the following to configure and build a CMake project:\n\n* bear -- cmake --list-presets\n* bear -- cmake --fresh --preset default\n* bear -- cmake --build --preset default\n\nYou can also use a workflow preset with bear:\n\n* bear -- cmake --workflow --fresh --preset default\n\nIt should generate a compile_commands.json in the CMake root path.\n\n# Roadmap\nIs subject to change at anytime.\nSee [Roadmap here](./ROADMAP.md)\n\n# Extras\nI am using Emacs to write ROADMAP.org.\nHowever GitHub doesn't render org files properly (especially tasks).\nSo I am using pandoc to convert org to md files, such as ROADMAP.org.\n\nHere is the command I use to convert .org to .md:\n* pandoc --from=org --to=gfm ROADMAP.org -o ROADMAP.md\n\n# About the author\nEric Nantel (Canada) Senior Level\n\nMake sure to follow me :smile_cat:\n:star: Help this repository by giving it a star . It really helps me .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericnantel%2Fcmake_examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericnantel%2Fcmake_examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericnantel%2Fcmake_examples/lists"}