aminya/setup-cpp
Install all the tools required for building and testing C++ and C projects.
30 Releases
Latest: 5mo ago
v1.8.0Latest
๐ What's Changed
- feat: update default LLVM, Mingw, CMake, Ninja, Task, Meson by @aminya in https://github.com/aminya/setup-cpp/pull/455
- fix: default to LLVM 20.1.8 by @aminya in https://github.com/aminya/setup-cpp/pull/460
- feat: use bun as the package manager by @aminya in https://github.com/aminya/setup-cpp/pull/454
- chore(deps): update fedora docker tag to v44 in https://github.com/aminya/setup-cpp/pull/440
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.7.2...v1.8.0
v1.7.2
๐ What's Changed
- feat: add a unified setup-options for all setup functions by @aminya in https://github.com/aminya/setup-cpp/pull/429
- feat: support LLVM 21 + GCC 15.2 by @aminya in https://github.com/aminya/setup-cpp/pull/447
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.7.1...v1.7.2
v1.7.1
๐ What's Changed
- fix: prefer complete Window LLVM package @aminya in https://github.com/aminya/setup-cpp/pull/425
- fix: add LLVM 20.1.7 by @aminya in https://github.com/aminya/setup-cpp/pull/424
- fix: add mingw 15.1-r2 by @aminya in https://github.com/aminya/setup-cpp/pull/424
- fix: install gcovr via apt on Ubuntu by default by @aminya in https://github.com/aminya/setup-cpp/pull/424
- feat: add tar tool by @aminya in https://github.com/aminya/setup-cpp/pull/425
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.7.0...v1.7.1
v1.7.0
๐ What's Changed
- feat: update default LLVM to v20 by @aminya in https://github.com/aminya/setup-cpp/pull/387
- feat: default to GCC 15 on Windows and MacOS by @aminya in https://github.com/aminya/setup-cpp/pull/387
- fix: update cmake, task, powershell, meson, doxygen by @aminya in https://github.com/aminya/setup-cpp/pull/414
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.6.2...v1.7.0
v1.6.2
**Full Changelog**: https://github.com/aminya/setup-cpp/compare/v1.6.1...v1.6.2
v1.6.0
๐ What's Changed
- feat: add apt-fast as an installable tool by @aminya in https://github.com/aminya/setup-cpp/pull/401
- fix: add apt-fast optimizations by @aminya in https://github.com/aminya/setup-cpp/pull/402
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.5.4...v1.6.0
v1.5.4
๐ What's Changed
- fix: avoid rc sourcing loops + fix: always add guards for sourcing rc files by @aminya in https://github.com/aminya/setup-cpp/pull/397
- [fix: add missing git option for actions](https://github.com/aminya/setup-cpp/commit/d0235b0adb97722c83c6f48ccfad4c98c083c0e4) by @aminya
- [fix: ignore setup-cpp cli installation errors](https://github.com/aminya/setup-cpp/commit/d10f4b6db061e4bd794e409852bc38e33cc5e4a6) by @aminya
- [fix: fix addition of git to PATH on Windows](https://github.com/aminya/setup-cpp/commit/75890615f7a4d1f3833f0f9008be852b0a1b256a) by @aminya
- [fix: fix add-apt-repository in Debian](https://github.com/aminya/setup-cpp/commit/55f022dea4b4667ba75821264c21fc8121bd3f06) by @aminya
- [fix: fix llvm add-apt-repository for debian](https://github.com/aminya/setup-cpp/commit/05bd2b5297d0c94ccbd895c9e7f35a5b88dbdee8) by @aminya
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.5.3...v1.5.4
v1.5.3
๐ Changes
- fix: remove exports map from package by @aminya in [7f46810eeda56](https://github.com/aminya/setup-cpp/commit/6370aaa0252a93c71dcc4cf49397f46810eeda56)
v1.5.2
๐ Changes
- fix: fix CLI shabang not working - independent lib by @aminya in [c88b4364ef50](https://github.com/aminya/setup-cpp/commit/95a7de4f2eceb0baf03a70a1edb7c88b4364ef50)
v1.5.0
๐ What's Changed
- feat: allow using setup-cpp as a library by @aminya in https://github.com/aminya/setup-cpp/pull/386
- fix: pin vcpkg on Alpine Arm64 by @aminya in https://github.com/aminya/setup-cpp/pull/389
- fix: do not add LLVM libraries to dyld by default by @aminya in https://github.com/aminya/setup-cpp/pull/388
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.4.0...v1.5.0
v1.4.0
๐ What's Changed
- ๐ feat: support Alpine + add setup-alpine package by @aminya in https://github.com/aminya/setup-cpp/pull/379
- ci: add docker tags with the base platform versions by @aminya in https://github.com/aminya/setup-cpp/pull/381 (e.g. `setup-cpp-ubuntu:20.04`)
- fix: detect externally managed Python to avoid warnings by @aminya in https://github.com/aminya/setup-cpp/pull/379
- Setup-cpp now provides prebuilt images for Alpine with support for base tools, and compilers `llvm`, `gcc`, and `mingw` available for `amd64` and `arm64` architectures.
- Base image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang` for Alpine:
- ```dockerfile
- FROM aminya/setup-cpp-alpine:3.21 AS builder
- ```
- + 13 more
v1.3.0
๐ What's Changed
- feat: add Ubuntu 20 and 24 docker builds by @aminya in https://github.com/aminya/setup-cpp/pull/375
- fix: fix python installation on Ubuntu 20 by @aminya in https://github.com/aminya/setup-cpp/pull/375
- chore(deps): update devdependencies by @renovate in https://github.com/aminya/setup-cpp/pull/376
๐ฅ Breaking changes for Ubuntu Docker images
- The `latest` tag for `setup-cpp` on Docker now points to Ubuntu `24.04`. Please pin the specific version if needed:
- Base image with `cmake, ninja, task, vcpkg, python, make, cppcheck, gcovr, doxygen, ccache, conan, meson, cmakelang` for Ubuntu 24.04:
- ```dockerfile
- FROM aminya/setup-cpp-ubuntu:24.04-1.3.0 AS builder
- ```
- Image with `llvm` and the base tools:
- ```dockerfile
- FROM aminya/setup-cpp-ubuntu-llvm:24.04-1.3.0 AS builder
- + 25 more
v1.2.2
๐ What's Changed
- ๐ ci: tests and executables for Linux arm by @aminya in https://github.com/aminya/setup-cpp/pull/363
- fix apt installation fallbacks to latest by @aminya in https://github.com/aminya/setup-cpp/pull/363
- fix old LLVM on latest Ubuntu arm by @aminya in https://github.com/aminya/setup-cpp/pull/363
- feat: install sccache on latest ubuntu arm by @aminya in https://github.com/aminya/setup-cpp/pull/373
- fix Doxygen on Linux Arm by @aminya in https://github.com/aminya/setup-cpp/pull/363
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.2.1...v1.2.2
v1.2.1
๐ What's Changed
- ๐ feat: add multi-architecture Docker images for setup-cpp by @aminya in https://github.com/aminya/setup-cpp/pull/361
- ๐ feat: install LLVM via brew on Mac if possible by @aminya in https://github.com/aminya/setup-cpp/pull/367 and https://github.com/aminya/setup-cpp/pull/364
- ๐ fix: avoid already installed warnings for brew by @aminya in https://github.com/aminya/setup-cpp/pull/369
- feat: add git as an installable tool by @aminya in https://github.com/aminya/setup-cpp/pull/362
- fix: add polyfill for crypto.randomuuid for Node 12 by @aminya in https://github.com/aminya/setup-cpp/pull/368 and https://github.com/aminya/setup-cpp/pull/370
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.1.1...v1.2.0
v1.2.0
๐ What's Changed
- Note: superseded by v1.2.1
- feat: add multi-architecture Docker images for setup-cpp by @aminya in https://github.com/aminya/setup-cpp/pull/361
- feat: install LLVM via brew on Mac if possible by @aminya in https://github.com/aminya/setup-cpp/pull/367 and https://github.com/aminya/setup-cpp/pull/364
- feat: add git as an installable tool by @aminya in https://github.com/aminya/setup-cpp/pull/362
- fix: avoid already installed warnings for brew by @aminya in https://github.com/aminya/setup-cpp/pull/369
- fix: add polyfill for crypto.randomuuid for Node 12 by @aminya in https://github.com/aminya/setup-cpp/pull/368 and https://github.com/aminya/setup-cpp/pull/370
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.1.1...v1.2.0
v1.1.1
๐ What's Changed
- fix: use logged-in bash as the entry point of docker by @aminya in https://github.com/aminya/setup-cpp/pull/351
- test: add more docker tests by @aminya in https://github.com/aminya/setup-cpp/pull/351
- fix: use the modern bundle in the docker images by @aminya in https://github.com/aminya/setup-cpp/pull/353
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v1.1.0...v.1.1.1
v1.1.0
๐ What's Changed
- feat: install setup-cpp CLI in GitHub Actions by @aminya in https://github.com/aminya/setup-cpp/pull/350
- When 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.
- ```yaml
- name: Setup Cpp
- uses: aminya/setup-cpp@v1
- with:
- setup-cpp: true
- node-package-manager: "npm"
- + 5 more
v1.0.0
๐ What's Changed
- feat: add Arm64 docker builds by @aminya in https://github.com/aminya/setup-cpp/pull/343
- feat: add setup-cpp base Docker images by @aminya in https://github.com/aminya/setup-cpp/pull/343
- feat: add conan, cmakelang, meson to base images by @aminya in https://github.com/aminya/setup-cpp/pull/344
- feat: add docker images with gcc as the compiler
- fix: fix gcc paths in Fedora/Arch by @aminya in https://github.com/aminya/setup-cpp/pull/345
- fix: fix vcpkg on Linux Arm64 by @aminya in https://github.com/aminya/setup-cpp/pull/343
- fix: update apt for the first install by @aminya in https://github.com/aminya/setup-cpp/pull/343
- To 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.
- + 54 more
v0.46.2
๐ What's Changed
- fix: more robust parsing of compiler name/versions + support apple-clang compiler name by @aminya in https://github.com/aminya/setup-cpp/pull/341
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.46.1...v0.46.2
v0.46.1
๐ What's Changed
- fix: fix clang 15/16 on Ubuntu 24 by @aminya in https://github.com/aminya/setup-cpp/pull/334
- fix: do not fall back to the latest apt package by default - fixing test gcc installation on Linux @aminya in https://github.com/aminya/setup-cpp/pull/333
- fix: install both libtinfo5 and libtinfo6 for clang by @aminya in https://github.com/aminya/setup-cpp/pull/333
- feat: support exclusive asset matching keywords @aminya in https://github.com/aminya/setup-cpp/pull/334
- ci: update to upload/download actions v4 by @aminya in https://github.com/aminya/setup-cpp/pull/336
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.46.0...v0.46.1
v0.46.0
๐ What's Changed
- feat: remove the LLVM repo on apt install failures by @aminya in https://github.com/aminya/setup-cpp/pull/331
- fix: support LLVM 11-16 on Ubuntu 24 by @aminya in https://github.com/aminya/setup-cpp/pull/331
- fix: fix GCC installation on some Ubuntu Arm64 versions by @aminya in https://github.com/aminya/setup-cpp/pull/331
- fix: install GCC without PPA if possible by @aminya in https://github.com/aminya/setup-cpp/pull/331
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.45.0...v0.46.0
v0.45.0
๐ What's Changed
- feat: store default versions in a json version file by @aminya in https://github.com/aminya/setup-cpp/pull/312
- fix: update LLVM to 19 by @aminya in https://github.com/aminya/setup-cpp/pull/324
- feat: support Windows arm cross-compilation by @aminya in https://github.com/aminya/setup-cpp/pull/324
- feat: support all brew install options by @aminya in https://github.com/aminya/setup-cpp/pull/315
- fix: update cmake, meson, task, mingw by @aminya in https://github.com/aminya/setup-cpp/pull/324
- fix: do not warn on pipx, venv, setuptools, doxygen installations by @aminya in https://github.com/aminya/setup-cpp/pull/315
- fix: check for the existence of venv module before installing by @aminya in https://github.com/aminya/setup-cpp/pull/327
- fix: require python 3.8.0 for applicant by @aminya in https://github.com/aminya/setup-cpp/pull/315
- + 2 more
v0.44.0
๐ What's Changed
- feat: use semver for matching binary assets by @aminya in https://github.com/aminya/setup-cpp/pull/306
- feat: support runtime, thread, and exception model on MinGW windows by @aminya in https://github.com/aminya/setup-cpp/pull/306
- fix!: update Conan to v2 by @aminya in https://github.com/aminya/setup-cpp/pull/308
- fix: update cmake, gcovr, conan, meson, task, doxygen by @aminya in https://github.com/aminya/setup-cpp/pull/306
- BREAKING gcovr updated from v5 to v7.
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.43.0...v0.44.0
v0.43.0
๐ What's Changed
- feat: add FlawFinder by @aminya in https://github.com/aminya/setup-cpp/pull/297
- feat: add cpplint by @aminya in https://github.com/aminya/setup-cpp/pull/297
- feat: add Lizard by @aminya in https://github.com/aminya/setup-cpp/pull/297
- feat: add Infer by @aminya in https://github.com/aminya/setup-cpp/pull/297
- fix: sync LLVM compiler version and clang tools version by @aminya in https://github.com/aminya/setup-cpp/pull/298
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.42.0...v0.43.0
v0.42.0
๐ What's Changed
- feat: add support for cmakelang, cmake-lint, cmake-format by @aminya in https://github.com/aminya/setup-cpp/pull/294
- feat: support more compiler/tool aliases (e.g. clang, clang-tidy) by @aminya in https://github.com/aminya/setup-cpp/pull/293
- fix: skip pipx/pip package install if no upgrade requested by @aminya in https://github.com/aminya/setup-cpp/pull/294
- fix: avoid old LLVM release HTTP redirects by @aminya in https://github.com/aminya/setup-cpp/pull/296
- fix libtinfo5 installation on Ubuntu 24 for LLVM by @aminya in https://github.com/aminya/setup-cpp/pull/296
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.41.1...v0.42.0
v0.41.1
๐ What's Changed
- fix(llvm): set `LLVM_CPPFLAGS/LDFLAGS` instead of `CPPFLAGS/LDFLAGS` by @aminya in https://github.com/aminya/setup-cpp/pull/290
- fix: faster zip extraction on Windows via 7z by @aminya in https://github.com/aminya/setup-cpp/pull/287
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.41.0...v0.41.1
v0.41.0
๐ What's Changed
- ๐ feat: find LLVM assets based on heuristics and GitHub/Website API by @aminya in https://github.com/aminya/setup-cpp/pull/285
- ๐ fix make, pipx, conan, gcovr, meson on MacOS ARM by @aminya in https://github.com/aminya/setup-cpp/pull/285
- ๐ feat: support LLVM/CMake/Ninja on MacOS/Windows/Linux Arm by @aminya in https://github.com/aminya/setup-cpp/pull/285
- ๐ feat: provide setup-cpp binaries for MacOS ARM and fully test in CI by @aminya in https://github.com/aminya/setup-cpp/pull/285
- feat: update default version LLVM to 18 by @aminya in https://github.com/aminya/setup-cpp/pull/285
- feat: support installing yay on Arch by @aminya in https://github.com/aminya/setup-cpp/pull/285
- fix: minify json assets via aminya/minijson by @aminya in https://github.com/aminya/setup-cpp/pull/284
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.40.0...v0.41.0
v0.40.0
๐ What's Changed
- ๐ fix: use the default/latest GCC version on Linux/macOS by @aminya in https://github.com/aminya/setup-cpp/pull/277
- As of this version, the latest available GCC on the default Linux repositories are installed by default. That means, the GCC versions installable via the test toolchain PPA are not installed on Ubuntu/Debian (unless the version is requested explicitly). This increases the compatibility of the binaries built via setup-cpp for distribution.
- On other platforms, the latest GCC version is installed by default.
- ๐ feat: use GitHub API to match MinGW assets by @aminya in https://github.com/aminya/setup-cpp/pull/277
- Instead of manually maintaining the available releases, now the GitHub API is used to find the MinGW assets. This method will be used for LLVM in future releases.
- ๐ feat: introduce setup-brew package by @aminya in https://github.com/aminya/setup-cpp/pull/266
- feat!: support addAptKey options through installAptPack by @aminya in https://github.com/aminya/setup-cpp/pull/269
- no default keys are added during apt installations anymore. Explicitly pass the keys needed.
- + 8 more
v0.39.0
๐ What's Changed
- feat: introduce os-env and setup-apt packages by @aminya in https://github.com/aminya/setup-cpp/pull/258 ๐
- fix: use Node http client for downloading instead of curl + fix brew ARM by @aminya in https://github.com/aminya/setup-cpp/pull/262
- chore: improve build/dev with turbo, lefthook, npmrc by @aminya in https://github.com/aminya/setup-cpp/pull/258
- feat: add overwrite option for brew + enabled by default by @aminya in https://github.com/aminya/setup-cpp/pull/263
- feat: add binary-based powershell installation by @aminya in https://github.com/aminya/setup-cpp/pull/264
- feat: automatic extract functions in setupBin by @aminya in https://github.com/aminya/setup-cpp/pull/264
- Full Changelog: https://github.com/aminya/setup-cpp/compare/v0.38.3...v0.39.0
v0.38.3
๐ Changes
- fix: add missing brew input to actions.yml by @aminya in 933c6eaf84313dae31c55da988cfb942a0d29ae9
- fix ccache input for GitHub Actions by @aminya in 933c6eaf84313dae31c55da988cfb942a0d29ae9
