{"id":29538705,"url":"https://github.com/rennamahcus/shapes","last_synced_at":"2025-09-04T05:14:18.630Z","repository":{"id":304391575,"uuid":"1018495382","full_name":"rennaMAhcuS/Shapes","owner":"rennaMAhcuS","description":"A minimal C++ project showcasing OOP with a clean directory structure, built using CMake and Make.","archived":false,"fork":false,"pushed_at":"2025-07-12T19:02:35.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-12T20:45:49.796Z","etag":null,"topics":["cmake","cpp","cpp20","makefile","sfml","uml"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"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/rennaMAhcuS.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":"2025-07-12T11:38:04.000Z","updated_at":"2025-07-12T19:03:51.000Z","dependencies_parsed_at":"2025-07-12T20:45:52.733Z","dependency_job_id":"7c34a13d-0bb5-4d93-a0ee-b8c713c69f64","html_url":"https://github.com/rennaMAhcuS/Shapes","commit_stats":null,"previous_names":["rennamahcus/shapes"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rennaMAhcuS/Shapes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rennaMAhcuS%2FShapes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rennaMAhcuS%2FShapes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rennaMAhcuS%2FShapes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rennaMAhcuS%2FShapes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rennaMAhcuS","download_url":"https://codeload.github.com/rennaMAhcuS/Shapes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rennaMAhcuS%2FShapes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273555459,"owners_count":25126316,"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-09-04T02:00:08.968Z","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":["cmake","cpp","cpp20","makefile","sfml","uml"],"created_at":"2025-07-17T05:10:06.199Z","updated_at":"2025-09-04T05:14:18.591Z","avatar_url":"https://github.com/rennaMAhcuS.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A C++ Project\n\nYou can follow these [instructions](Walkthrough.md) to get a decent idea on OOP\nin `C++`.\n\n## CMake\n\nRefer this project's `CMakeLists.txt` files to know more about CMake. Note that\nthis project depends on the [SFML](https://www.sfml-dev.org) library.\n\n## About C++ building - Compiler options\n\n### Language standard flags\n\n`-std=c++20`\n\n### Disabling compiler extensions\n\n`-pedantic-errors`\n\n### Warning and error levels\n\n`-Wall -Weffc++ -Wextra -Wconversion -Wsign-conversion -Werror`\n\n### Optimization\n\n- `-O0` is the recommended optimization level for debug builds, as it disables\n  optimization. This is the default setting.\n- `-O2` is the recommended optimization level for release builds, as it applies\n  optimizations that should be beneficial for all programs.\n- `-O3` adds additional optimizations that may or may not perform better than\n  `-O2` depending on the specific program. Once your program is written, you\n  can try compiling your release build with -O3 instead of -O2 and measure to\n  see which is faster.\n\n### Build configurations\n\nAdd `-g` to the command line for debug builds and `-O2 -DNDEBUG` for release\nbuilds. Use the debug build options for now.\n\n### An example `CMakeLists.txt`\n\n```cmake\ncmake_minimum_required(VERSION 3.31)\nproject(The Project)\n\nset(CMAKE_CXX_STANDARD 20)\n# No compiler-specific extensions\nset(CMAKE_CXX_STANDARD_REQUIRED ON)\nset(CMAKE_CXX_EXTENSIONS OFF)\n\n# Add warning and error flags\nadd_compile_options(\n        # Disabling compiler extensions\n        -pedantic-errors\n        # All Warnings\n        -Wall\n        -Weffc++\n        -Wextra\n        -Wconversion\n        -Wsign-conversion\n        -Werror\n        # Debug\n        -g\n)\n\nadd_executable(main main.cpp)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frennamahcus%2Fshapes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frennamahcus%2Fshapes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frennamahcus%2Fshapes/lists"}