{"id":21974432,"url":"https://github.com/abdes/asap_app_console","last_synced_at":"2026-01-05T04:53:49.719Z","repository":{"id":120155367,"uuid":"157962657","full_name":"abdes/asap_app_console","owner":"abdes","description":"Starter project for a console application using the template from asap (https://github.com/abdes/asap). Start immediately with no bloat and no time wasted setting up the basic infrastructure for coding, building and testing a c++ application.","archived":false,"fork":false,"pushed_at":"2020-09-03T09:35:20.000Z","size":258,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-28T03:19:22.625Z","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":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdes.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-17T07:50:39.000Z","updated_at":"2022-03-17T23:32:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e5ac7ee-9ab3-49e6-9ecf-a37b15e28081","html_url":"https://github.com/abdes/asap_app_console","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdes%2Fasap_app_console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdes%2Fasap_app_console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdes%2Fasap_app_console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdes%2Fasap_app_console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdes","download_url":"https://codeload.github.com/abdes/asap_app_console/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245036127,"owners_count":20550662,"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":[],"created_at":"2024-11-29T15:45:20.926Z","updated_at":"2026-01-05T04:53:49.677Z","avatar_url":"https://github.com/abdes.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![repo on GitHub](https://img.shields.io/badge/repo-GitHub-brightgreen.svg)](https://github.com/abdes/asap_app_console)\n[![repo on GitLab](https://img.shields.io/badge/repo-GitLab-brightgreen.svg)](https://gitlab.com/absassi/asap_app_console)\n\n| Configuration             | Build Status                          |\n| ------------------------- | ------------------------------------- |\n| Linux G++ 7               | [![Linux G++ 7][9]][0]                |\n| Linux Clang 4             | [![Linux Clang 4][10]][0]             |\n| Linux Clang 5             | [![Linux Clang 5][11]][0]             |\n| XCode 9.4.1 - OS X 10.13  | [![XCode 9.4.1 - OS X 10.13][12]][0]  |\n| XCode 12.0 - OS X 10.15.5 | [![XCode 12.0 - OS X 10.15.5][13]][0] |\n| Windows                   | [![Windows][21]][20]                  |\n\n[0]: https://travis-ci.org/abdes/asap_app_console\n[9]: https://travis-matrix-badges.herokuapp.com/repos/abdes/asap/branches/master/9\n[10]: https://travis-matrix-badges.herokuapp.com/repos/abdes/asap/branches/master/10\n[11]: https://travis-matrix-badges.herokuapp.com/repos/abdes/asap/branches/master/11\n[12]: https://travis-matrix-badges.herokuapp.com/repos/abdes/asap/branches/master/12\n[13]: https://travis-matrix-badges.herokuapp.com/repos/abdes/asap/branches/master/13\n[20]: https://ci.appveyor.com/project/abdes/asap_app_console\n[21]: https://ci.appveyor.com/api/projects/status/nng5iin0wbccjhkx/branch/master?svg=true\n\n# Starter project with minimum necessary functionality\n\n- use cmake for the build system\n- modular structure with each module self-contained in a subdirectory within\n  the project\n- build helpers in common/cmake to facilitate declaration of library, exe,\n  test modules, for the end-to-end lifecycle including doc generation, test,\n  packaging etc...\n- common facilities (common module) for platform specifics, assertions\n  support, logging\n- unit testing with Catch2\n- Optional Modules:\n  - backported C++17 filesystem implementation (will be portable across Linux, Mac\n    and Windows)\n\nAny optional submodule that is not needed can be simply removed from the git submodules\nand from the master CMakeLists.txt (`add_subdirectory()`).\n\n## Getting the code\n\n```shell\ngit clone --recurse-submodules -j4 https://gitlab.com/absassi/asap_app_console.git\n```\n\nNOTES:\n\n- -j4 requests git to parallelize cloning of repos. Needs a relatively recent version\n  of git. If that is not available, simply do not use this option.\n\n## Requirements\n\nMake sure you have a C++ compiler with C++-14 capabilities at least. Gnu, Clang and MSVC\nall can do that with a recent version.\n\n## Building\n\n```shell\nmkdir _build \u0026\u0026 cd _build \u0026\u0026 cmake .. \u0026\u0026 cmake --build .\n```\n\nYou can also use any of the cmake options, generators, etc...\n\nBy default the build will create shared libraries. If you want static libraries, pass\n-DBUILD_SHARED_LIBS=OFF to cmake during configuration:\n\n```shell\ncmake -DBUILD_SHARED_LIBS=OFF ..\n```\n\nYou can also use any of the cmake options, generators, etc...\n\n```cmake\n# Project options\noption(BUILD_SHARED_LIBS     \"Build shared instead of static libraries.\"              ON)\noption(OPTION_SELF_CONTAINED \"Create a self-contained install with all dependencies.\" OFF)\noption(OPTION_BUILD_TESTS    \"Build tests.\"                                           ON)\noption(OPTION_BUILD_DOCS     \"Build documentation.\"                                   OFF)\noption(OPTION_BUILD_EXAMPLES \"Build examples.\"                                        OFF)\noption(OPTION_CLANG_TIDY     \"Analyze code with clang-tidy.\"                          OFF)\noption(OPTION_CPPCHECK       \"Analyze code with CppCheck.\"                            OFF)\noption(OPTION_GOOGLE_ASAN    \"Instrument code with address sanitizer\"                 OFF)\noption(OPTION_GOOGLE_USAN    \"Instrument code with memory sanitizer\"                  OFF)\noption(OPTION_GOOGLE_TSAN    \"Instrument code with thread sanitizer\"                  OFF)\n```\n\nThe code is portable across Linux (g++ and clang), OS X and Visual Studio 2017.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdes%2Fasap_app_console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdes%2Fasap_app_console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdes%2Fasap_app_console/lists"}