{"id":15136986,"url":"https://github.com/aminya/setup-cpp","last_synced_at":"2025-05-15T07:04:39.067Z","repository":{"id":37072377,"uuid":"406308261","full_name":"aminya/setup-cpp","owner":"aminya","description":"Install all the tools required for building and testing C++ and C projects.","archived":false,"fork":false,"pushed_at":"2025-05-08T06:08:45.000Z","size":152765,"stargazers_count":224,"open_issues_count":21,"forks_count":35,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-08T07:22:53.491Z","etag":null,"topics":["bazel","ccache","clang","cmake","conan","cpp","cppcheck","docker","doxygen","gcc","gcovr","github-actions","hacktoberfest","install","llvm","meson","mingw","msvc","ninja","package-manager"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aminya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.dependencies.txt","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},"funding":{"github":["aminya"],"polar":"aminya","patreon":"aminya"}},"created_at":"2021-09-14T09:40:58.000Z","updated_at":"2025-05-07T22:47:37.000Z","dependencies_parsed_at":"2023-02-12T19:01:12.007Z","dependency_job_id":"888a5ab4-3291-4e35-a999-4c056e5b2bd1","html_url":"https://github.com/aminya/setup-cpp","commit_stats":{"total_commits":1312,"total_committers":11,"mean_commits":"119.27272727272727","dds":0.03658536585365857,"last_synced_commit":"75454f9c75fd2ee0b815c974bd2e157bd8eb69af"},"previous_names":[],"tags_count":110,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminya%2Fsetup-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminya%2Fsetup-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminya%2Fsetup-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminya%2Fsetup-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aminya","download_url":"https://codeload.github.com/aminya/setup-cpp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292039,"owners_count":22046426,"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":["bazel","ccache","clang","cmake","conan","cpp","cppcheck","docker","doxygen","gcc","gcovr","github-actions","hacktoberfest","install","llvm","meson","mingw","msvc","ninja","package-manager"],"created_at":"2024-09-26T06:42:30.154Z","updated_at":"2025-05-15T07:04:34.057Z","avatar_url":"https://github.com/aminya.png","language":"TypeScript","readme":"# setup-cpp\n\nInstall all the tools required for building and testing C++/C projects.\n\n[![Build Status (Github Actions](https://github.com/aminya/setup-cpp/actions/workflows/CI.yml/badge.svg)](https://github.com/aminya/setup-cpp/actions/workflows/CI.yml)\n\nSetting up a **cross-platform** environment for building and testing C++/C projects is a bit tricky. Each platform has its own compilers, and each of them requires a different installation procedure. This package aims to fix this issue.\n\n`setup-cpp` can be used locally from terminal, from CI services like GitHub Actions and GitLab Pipelines, and inside containers like Docker.\n\n`setup-cpp` is supported on many platforms. It is continuously tested on several configurations including Windows (11, 10, 2022, 2019) x64/ARM/x86, Linux (Ubuntu 24.0, 22.04, 20.04, 18.04, Fedora, ArchLinux) x64/ARM64, and macOS (15, 14, 13, 12, 11, 10.15) x64/ARM. `setup-cpp` is backed by unit tests for each tool and integration tests for compiling cpp projects.\n\n\u003c!-- dprint-ignore --\u003e\n```yaml\n      # GitHub Actions example:\n      - name: Setup Cpp\n        uses: aminya/setup-cpp@v1\n        with:\n          compiler: llvm\n          vcvarsall: true\n          cmake: true\n          ninja: true\n          vcpkg: true\n```\n\n## Features\n\n`setup-cpp` is **modular** and you can choose to install any of these tools:\n\n| category        | tools                                                                                                       |\n| --------------- | ----------------------------------------------------------------------------------------------------------- |\n| compiler        | llvm, gcc, msvc, apple-clang, vcvarsall                                                                     |\n| build system    | cmake, ninja, meson, make, task, bazel                                                                      |\n| package manager | vcpkg, conan, choco, brew, nala, git, setup-cpp                                                             |\n| analyzer/linter | clang-tidy, clang-format, cppcheck, cpplint, flawfinder, lizard, infer, cmakelang, cmake-format, cmake-lint |\n| cache           | ccache, sccache                                                                                             |\n| documentation   | doxygen, graphviz                                                                                           |\n| coverage        | gcovr, opencppcoverage, kcov                                                                                |\n| other           | python, powershell, sevenzip                                                                                |\n\n`setup-cpp` automatically handles the dependencies of the selected tool (e.g., `python` is required for `conan`).\n\n## Usage\n\n### From Terminal\n\n#### With npm and Nodejs\n\nRun `setup-cpp` with the available options.\n\n```shell\n# Windows example (open PowerShell as admin)\nnpx setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true\n# restart the shell to activate the environment\n```\n\n```shell\n# Linux/Macos example\nsudo npx setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true\nsource ~/.cpprc # activate cpp environment variables\n```\n\nNOTE: In the `compiler` entry, you can specify the version after `-` like `llvm-18`. For the tools, you can pass a specific version instead of `true` that chooses the default version\n\nNOTE: On Unix systems, when `setup-cpp` is used locally or in other CI services like GitLab, the environment variables are added to `~/.cpprc`. You should run `source ~/.cpprc` to immediately activate the environment variables. This file is automatically sourced in the next shell restart from `~/.bashrc` or `~/.profile` if `SOURCE_CPPRC` is not set to `0`. To deactivate `.cpprc` in the next shell restart, rename/remove `~/.cpprc`.\n\nNOTE: On Unix systems, if you are already a root user (e.g., in a GitLab runner or Docker), you will not need to use `sudo`.\n\nNOTE: setup-cpp requires Nodejs 12 or higher. If Nodejs shipped with your distribution is older than 12, install the latest Node (e.g. for [Ubuntu 20.04](https://github.com/aminya/setup-cpp/blob/e2b11c45c1108526f905729542711e343a54a7fb/dev/docker/setup-cpp-ubuntu-20.0.4.dockerfile#L4-L13)), or alternatively you can use the executables that are self-contained (see the next section).\n\n#### With executable\n\nDownload the executable for your platform from [here](https://github.com/aminya/setup-cpp/releases/tag/v1.5.3), and run it with the available options. You can also automate downloading using `curl`, or other similar tools.\n\n```shell\n# windows x64\ncurl -o ./setup-cpp.exe -LJ \"https://github.com/aminya/setup-cpp/releases/download/v1.5.3/setup-cpp-x64-windows.exe\"\n# linux x64\ncurl -o ./setup-cpp -LJ \"https://github.com/aminya/setup-cpp/releases/download/v1.5.3/setup-cpp-x64-linux\"\n# linux arm64\ncurl -o ./setup-cpp -LJ \"https://github.com/aminya/setup-cpp/releases/download/v1.5.3/setup-cpp-arm64-linux\"\n# macos arm64\ncurl -o ./setup-cpp -LJ \"https://github.com/aminya/setup-cpp/releases/download/v1.5.3/setup-cpp-arm64-macos\"\n# macos x64\ncurl -o ./setup-cpp -LJ \"https://github.com/aminya/setup-cpp/releases/download/v1.5.3/setup-cpp-x64-macos\"\n```\n\nAn example that installs llvm, cmake, ninja, ccache, and vcpkg:\n\n```shell\n# windows example (open PowerShell as admin)\n./setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true\n# restart the shell to activate the environment\n```\n\n```shell\n# linux/macos example\nchmod +x ./setup-cpp\nsudo ./setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true\nsource ~/.cpprc # activate cpp environment variables\n```\n\nNOTE: On Unix systems, if you are already a root user (e.g., in a GitLab runner or Docker), you will not need to use `sudo`.\n\n### Inside GitHub Actions\n\nA simple example for building with LLVM, cmake, ninja, vcpkg:\n\n\u003c!-- dprint-ignore --\u003e\n```yaml\n      - name: Setup Cpp\n        uses: aminya/setup-cpp@v1\n        with:\n          compiler: llvm\n          vcvarsall: true\n          cmake: true\n          ninja: true\n          vcpkg: true\n```\n\nA simple example for installing clang-format for code formatting:\n\n\u003c!-- dprint-ignore --\u003e\n```yaml\n      - name: Setup Cpp\n        uses: aminya/setup-cpp@v1\n        with:\n          clang-format: true\n```\n\nA complete cross-platform example that tests llvm, gcc, and msvc. It also uses cmake, ninja, vcpkg, and cppcheck.\n\n`.github/workflows/ci.yml`:\n\n```yaml\nname: ci\non:\n  pull_request:\n  push:\n    branches:\n      - main\n      - master\n\njobs:\n  Test:\n    runs-on: ${{ matrix.os }}\n    strategy:\n      fail-fast: false\n      matrix:\n        os:\n          - windows-2022\n          - ubuntu-24.04\n          - macos-14 # arm64\n          - macos-13\n        compiler:\n          - llvm\n          - gcc\n          # you can specify the version after `-` like `llvm-18`.\n        include:\n          - os: \"windows-2022\"\n            compiler: \"msvc\"\n    steps:\n      - uses: actions/checkout@v3\n      - name: Cache\n        uses: actions/cache@v3\n        with:\n          path: |\n            ./build/\n            ~/vcpkg\n            ~/.cache/vcpkg/archives\n            ${{ env.LOCALAPPDATA }}/vcpkg/archives\n            ${{ env.APPDATA }}/vcpkg/archives\n            ${{ env.XDG_CACHE_HOME }}/vcpkg/archives\n            ~/.cache/ccache\n            ~/.ccache\n            ~/.config/ccache\n            ~/Library/Caches/ccache\n            ${{ env.LOCALAPPDATA }}/ccache\n            ${{ env.XDG_CACHE_HOME }}/ccache\n          key: ${{ runner.os }}-${{ matrix.compiler }}-${{ env.BUILD_TYPE }}-${{ hashFiles('**/CMakeLists.txt', './vcpkg.json') }}\n          restore-keys: |\n            ${{ runner.os }}-${{ env.BUILD_TYPE }}-\n\n      - name: Setup Cpp\n        uses: aminya/setup-cpp@v1\n        with:\n          compiler: ${{ matrix.compiler }}\n          vcvarsall: true\n          cmake: true\n          ninja: true\n          vcpkg: true\n          cppcheck: true # instead of `true`, which chooses the default version, you can pass a specific version.\n```\n\nWhen using the `setup-cpp` action in GitHub Actions, by default it will also install the `setup-cpp` CLI, which you can use in the subsequent commands. You can modify the default behaviour if needed.\n\n```yaml\n  - name: Setup Cpp\n    uses: aminya/setup-cpp@v1\n    with:\n      setup-cpp: true\n      node-package-manager: \"npm\"\n\n  - name: Use Setup Cpp CLI\n    run: setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true\n```\n\n### Prebuilt Docker Images\n\nTo provide fast development environments, `setup-cpp` provides several prebuilt docker images that have the tools you need. You can use these images as a base image for your project.\n\nThe tags are in the following template:\n\n- Base image: `aminya/setup-cpp-ubuntu:24.04`\n- Compiler image: `aminya/setup-cpp-ubuntu-llvm:24.04`\n- Base image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu:24.04-v1.5.3`\n- Compiler image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu-llvm:24.04-v1.5.3`\n\nThe supported platforms are `ubuntu`, `alpine`, `fedora`, and `arch`. The supported compilers are `llvm`, `gcc`, and `mingw`.\n\n#### Ubuntu Images (amd64 and arm64)\n\nSetup-cpp provides prebuilt images for various Ubuntu versions (20.04, 22.04, 24.04) with support for base tools, and compilers `llvm`, `gcc`, and `mingw` available for `amd64` and `arm64` architectures.\n\nBase image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang` for Ubuntu 24.04:\n\n```dockerfile\nFROM aminya/setup-cpp-ubuntu:24.04 AS builder\n```\n\nImage with `llvm` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-ubuntu-llvm:24.04 AS builder\n```\n\nImage with `gcc` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-ubuntu-gcc:24.04 AS builder\n```\n\nImage with `mingw` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-ubuntu-mingw:24.04 AS builder\n```\n\nThere are also the variants for Ubuntu `22.04`\n\n```dockerfile\nFROM aminya/setup-cpp-ubuntu:22.04 AS builder\nFROM aminya/setup-cpp-ubuntu-llvm:22.04 AS builder\nFROM aminya/setup-cpp-ubuntu-gcc:22.04 AS builder\nFROM aminya/setup-cpp-ubuntu-mingw:22.04 AS builder\n```\n\nAnd for Ubuntu `20.04`:\n\n```dockerfile\nFROM aminya/setup-cpp-ubuntu:20.04 AS builder\nFROM aminya/setup-cpp-ubuntu-llvm:20.04 AS builder\nFROM aminya/setup-cpp-ubuntu-gcc:20.04 AS builder\nFROM aminya/setup-cpp-ubuntu-mingw:20.04 AS builder\n```\n\n#### Alpine Images (amd64 and arm64)\n\nSetup-cpp provides prebuilt images for Alpine with support for base tools, and compilers `llvm`, `gcc`, and `mingw` available for `amd64` and `arm64` architectures.\n\nBase image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang` for Alpine 3.18:\n\n```dockerfile\nFROM aminya/setup-cpp-alpine:3.21 AS builder\n```\n\nImage with `llvm` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-alpine-llvm:3.21 AS builder\n```\n\nImage with `gcc` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-alpine-gcc:3.21 AS builder\n```\n\nImage with `mingw` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-alpine-mingw:3.21 AS builder\n```\n\n#### Fedora Images (amd64)\n\n\u003cdetails\u003e\n\nBase image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang`\n\n```dockerfile\nFROM aminya/setup-cpp-fedora:40 AS builder\n```\n\nImage with `llvm` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-fedora-llvm:40 AS builder\n```\n\nImage with `gcc` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-fedora-gcc:40 AS builder\n```\n\nImage with `mingw` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-fedora-mingw:40 AS builder\n```\n\n\u003c/details\u003e\n\n#### ArchLinux Images (amd64)\n\n\u003cdetails\u003e\n\nBase image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang`\n\n```dockerfile\nFROM aminya/setup-cpp-arch:base AS builder\n```\n\nImage with `llvm` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-arch-llvm:base AS builder\n```\n\nImage with `gcc` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-arch-gcc:base AS builder\n```\n\nImage with `mingw` and the base tools:\n\n```dockerfile\nFROM aminya/setup-cpp-arch-mingw:base AS builder\n```\n\n\u003c/details\u003e\n\n### Custom Docker Images\n\nIf you need to install the tools selectively, you can create your own Docker image with the tools you need.\n\nHere is an example for using setup-cpp to make a builder image that has the Cpp tools you need.\n\n```dockerfile\n#### Base Image\nFROM ubuntu:22.04 as setup-cpp-ubuntu\n\nRUN apt-get update -qq \u0026\u0026 \\\n    # install nodejs\n    apt-get install -y --no-install-recommends nodejs npm \u0026\u0026 \\\n    # install setup-cpp\n    npm install -g setup-cpp@v1.5.3 \u0026\u0026 \\\n    # install the compiler and tools\n    NODE_OPTIONS=\"--enable-source-maps\" \\\n    setup-cpp \\\n        --nala true \\\n        --compiler llvm \\\n        --cmake true \\\n        --ninja true \\\n        --task true \\\n        --vcpkg true \\\n        --python true \\\n        --make true \\\n        --cppcheck true \\\n        --gcovr true \\\n        --doxygen true \\\n        --ccache true \u0026\u0026 \\\n    # cleanup\n    nala autoremove -y \u0026\u0026 \\\n    nala autopurge -y \u0026\u0026 \\\n    apt-get clean \u0026\u0026 \\\n    nala clean --lists \u0026\u0026 \\\n    rm -rf /var/lib/apt/lists/* \u0026\u0026 \\\n    rm -rf /tmp/*\n\nSHELL [\"/bin/bash\", \"-l\", \"-c\"]\nENTRYPOINT [\"/bin/bash\", \"-l\"]\n\n#### Building (example)\nFROM setup-cpp-ubuntu AS builder\n\nCOPY ./dev/cpp_vcpkg_project /home/app\nWORKDIR /home/app\nRUN task build\n\n#### Running environment\n# use a fresh image as the runner\nFROM ubuntu:22.04 as runner\n\n# copy the built binaries and their runtime dependencies\nCOPY --from=builder /home/app/build/my_exe/Release/ /home/app/\nWORKDIR /home/app/\nENTRYPOINT [\"./my_exe\"]\n```\n\nSee [this folder](https://github.com/aminya/setup-cpp/tree/master/dev/docker), for some dockerfile examples.\n\nIf you want to build the ones included, then run:\n\n```shell\ngit clone --recurse-submodules https://github.com/aminya/setup-cpp\ncd ./setup-cpp\ndocker build -f ./dev/docker/setup-cpp/setup-cpp-ubuntu.dockerfile -t setup-cpp-ubuntu-llvm:22.04-17 ./\n```\n\nWhere you should use the path to the dockerfile after `-f`.\n\nAfter build, run the following to start an interactive shell in your container\n\n```shell\ndocker run -it setup-cpp-ubuntu-llvm:22.04-17\n```\n\n### Inside Docker inside GitHub Actions\n\nYou can use the docker file discussed in the previous section inside GitHub Actions like the following:\n\n```yaml\njobs:\n  Docker:\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        os:\n          - ubuntu-24.04\n    steps:\n      - uses: actions/checkout@v3\n      - name: Build\n        id: docker_build\n        run: |\n          docker build -f ./dev/docker/ubuntu.dockerfile -t setup-cpp .\n```\n\n### Inside GitLab pipelines\n\nThe following gives an example for setting up a C++ environment inside GitLab pipelines.\n\n.gitlab-ci.yaml\n\n```yaml\nimage: ubuntu:22.04\n\nstages:\n  - test\n\n.setup_linux: \u0026setup_linux |\n  DEBIAN_FRONTEND=noninteractive\n\n  # set time-zone\n  TZ=Canada/Pacific\n  ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \u0026\u0026 echo $TZ \u003e /etc/timezone\n\n  # for downloading\n  apt-get update -qq\n  apt-get install -y --no-install-recommends curl gnupg ca-certificates\n\n.setup-cpp: \u0026setup-cpp |\n  # install nodejs\n  apt-get install -y --no-install-recommends nodejs npm\n\n  # install setup-cpp\n  npm install -g setup-cpp@v1.5.3\n\n  # install the compiler and tools\n  ./setup-cpp-x64-linux --compiler $compiler --cmake true --ninja true --ccache true --vcpkg true\n  source ~/.cpprc\n\n.test: \u0026test |\n  # Build and Test\n  # ...\n\ntest_linux_llvm:\n  stage: test\n  variables:\n    compiler: llvm\n  script:\n    - *setup_linux\n    - *setup-cpp\n    - *test\n\ntest_linux_gcc:\n  stage: test\n  variables:\n    compiler: gcc\n  script:\n    - *setup_linux\n    - *setup-cpp\n    - *test\n```\n\n### As a Library in Nodejs\n\n```ts\nimport { setupCpp, success, error } from \"setup-cpp\"\n\nasync function main() {\n  const { errorMessages, successMessages } = await setupCpp({\n    compiler: \"llvm\",\n    cmake: true,\n    ninja: true,\n    vcpkg: true,\n  })\n\n  for (const message of errorMessages) {\n    error(message)\n  }\n  for (const message of successMessages) {\n    success(message)\n  }\n\n  if (errorMessages.length !== 0) {\n    process.exit(1)\n  }\n}\n\nmain().catch(err =\u003e {\n  console.error(err)\n  process.exit(1)\n})\n```\n\n## Articles\n\n[Setup-Cpp on Dev.to](https://dev.to/aminya/setup-cpp-3ia4)\n\n## Usage Examples\n\n- [cpp_vcpkg_project project](https://github.com/aminya/cpp_vcpkg_project)\n- [project_options](https://github.com/aminya/project_options)\n- [cpp-best-practices starter project](https://github.com/cpp-best-practices/cpp_starter_project)\n- [ftxui](https://github.com/ArthurSonzogni/FTXUI)\n- [inja](https://github.com/pantor/inja)\n- [teslamotors/fixed-containers](https://github.com/teslamotors/fixed-containers)\n- [zeromq.js](https://github.com/zeromq/zeromq.js)\n- [json2cpp](https://github.com/lefticus/json2cpp)\n- [lefticus/tools](https://github.com/lefticus/tools)\n- [watcher](https://github.com/e-dant/watcher)\n- [pinpoint-c-agent](https://github.com/pinpoint-apm/pinpoint-c-agent)\n- [dpp](https://github.com/atilaneves/dpp)\n- [DSpellCheck](https://github.com/Predelnik/DSpellCheck)\n- [simdjson-rust](https://github.com/SunDoge/simdjson-rust)\n- [CXXIter](https://github.com/seijikun/CXXIter)\n- [git-tui](https://github.com/ArthurSonzogni/git-tui)\n- [supercell](https://github.com/orex/supercell)\n- [libclang](https://github.com/atilaneves/libclang)\n- [d-tree-sitter](https://github.com/aminya/d-tree-sitter)\n- [atom-community/papm](https://github.com/atom-community/papm)\n- [ecs_benchmark](https://github.com/abeimler/ecs_benchmark)\n- [smk](https://github.com/ArthurSonzogni/smk)\n\nSee all of the usage examples on GitHub [here](https://github.com/search?q=aminya%2Fsetup-cpp+path%3A.github%2Fworkflows%2F+language%3AYAML+fork%3Atrue\u0026type=code).\n","funding_links":["https://github.com/sponsors/aminya","https://polar.sh/aminya","https://patreon.com/aminya"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faminya%2Fsetup-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faminya%2Fsetup-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faminya%2Fsetup-cpp/lists"}