{"id":16715776,"url":"https://github.com/gsvgit/221_2019_2020","last_synced_at":"2026-02-14T10:03:32.789Z","repository":{"id":149293121,"uuid":"241883028","full_name":"gsvgit/221_2019_2020","owner":"gsvgit","description":"New version of repo for HW.","archived":false,"fork":false,"pushed_at":"2020-02-20T12:51:20.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-05T16:46:42.079Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gsvgit.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":"2020-02-20T12:51:18.000Z","updated_at":"2020-02-20T12:51:23.000Z","dependencies_parsed_at":"2023-04-05T06:32:15.061Z","dependency_job_id":null,"html_url":"https://github.com/gsvgit/221_2019_2020","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"gsvgit/cpp-project","purl":"pkg:github/gsvgit/221_2019_2020","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2F221_2019_2020","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2F221_2019_2020/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2F221_2019_2020/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2F221_2019_2020/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gsvgit","download_url":"https://codeload.github.com/gsvgit/221_2019_2020/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsvgit%2F221_2019_2020/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29442334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T07:24:13.446Z","status":"ssl_error","status_checked_at":"2026-02-14T07:23:58.969Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-12T21:10:34.810Z","updated_at":"2026-02-14T10:03:32.771Z","avatar_url":"https://github.com/gsvgit.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)\n[![Build Status](https://travis-ci.org/gsvgit/cpp-project.svg?branch=master)](https://travis-ci.org/gsvgit/cpp-project)\n[![Build status](https://ci.appveyor.com/api/projects/status/7ag5mtw352bu7psb?svg=true)](https://ci.appveyor.com/project/gsvgit/cpp-project)\n\n# Boiler plate for C++ projects \n\nThis is a boiler plate for C++ projects. What you get:\n\n-   Sources, headers and mains separated in distinct folders\n-   Use of modern [CMake](https://cmake.org/) for much easier compiling\n-   Setup for tests using [doctest](https://github.com/onqtam/doctest)\n-   Continuous testing with [Travis-CI](https://travis-ci.org/) and [Appveyor](https://www.appveyor.com), with support for C++17.\n-   Code coverage reports, including automatic upload to [Coveralls.io](https://coveralls.io/) and/or [Codecov.io](https://codecov.io)\n-   Code documentation with [Doxygen](http://www.stack.nl/~dimitri/doxygen/)\n\n![Demo of usage](https://i.imgur.com/foymVfy.gif)\n\n## Structure\n``` text\n.\n├── CMakeLists.txt\n├── app\n│   └── main.cpp\n├── include\n│   ├── example.h\n│   └── exampleConfig.h.in\n├── src\n│   └── example.cpp\n└── tests\n    ├── dummy.cpp\n    └── main.cpp\n```\n\nSources go in [src/](src/), header files in [include/](include/), main programs in [app/](app), and\ntests go in [tests/](tests/) (compiled to `unit_tests` by default). \n\nIf you add a new executable, say `app/hello.cpp`, you only need to add the following two lines to [CMakeLists.txt](CMakeLists.txt): \n\n``` cmake\nadd_executable(main app/main.cpp)   # Name of exec. and location of file.\ntarget_link_libraries(main PRIVATE ${LIBRARY_NAME})  # Link the executable to lib built from src/*.cpp (if it uses it).\n```\n\nYou can find the example source code that builds the `main` executable in [app/main.cpp](app/main.cpp) under the `Build` section in [CMakeLists.txt](CMakeLists.txt). \nIf the executable you made does not use the library in [src/](src), then only the first line is needed.\n\n\n\n## Building\n\nBuild by making a build directory (i.e. `build/`), run `cmake` in that dir, and then use `make` to build the desired target.\n\nExample:\n\n``` bash\n\u003e mkdir build \u0026\u0026 cd build\n\u003e cmake .. -DCMAKE_BUILD_TYPE=[Debug | Coverage | Release]\n\u003e make\n\u003e ./main\n\u003e make test      # Makes and runs the tests.\n\u003e make coverage  # Generate a coverage report.\n\u003e make doc       # Generate html documentation.\n```\n\n## .gitignore\n\nThe [.gitignore](.gitignore) file is a copy of the [Github C++.gitignore file](https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore),\nwith the addition of ignoring the build directory (`build/`).\n\n## Services\n\nIf the repository is activated with Travis-CI, then unit tests will be built and executed on each commit.\nThe same is true if the repository is activated with Appveyor.\n\nIf the repository is activated with Coveralls/Codecov, then deployment to Travis will also calculate code coverage and\nupload this to Coveralls.io and/or Codecov.io\n\n## Setup\nWhen starting a new project, you probably don't want the history of this repository. To start fresh you can use\nthe [setup script](setup.sh) as follows:\n``` bash\n\u003e git clone https://github.com/bsamseth/cpp-project  # Or use ssh-link if you like.\n\u003e cd cpp-project\n\u003e sh setup.sh\n```\nThe result is a fresh Git repository with one commit adding all files from the boiler plate. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsvgit%2F221_2019_2020","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsvgit%2F221_2019_2020","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsvgit%2F221_2019_2020/lists"}