docs: update the readme to include the npm docs [skip ci]

This commit is contained in:
Amin Yahyaabadi 2023-01-17 22:05:33 -08:00
parent c41d430d6b
commit 0c06ab68a5
1 changed files with 38 additions and 39 deletions

View File

@ -30,17 +30,47 @@ Setting up a **cross-platform** environment for building and testing C++/C proje
### From Terminal ### From Terminal
You should download the executable file or the js file (if Nodejs installed), and run it with the available options. #### With npm and Nodejs
Tip: You can automate downloading using `wget`, `curl`, or other similar tools. Install setup-cpp with npm:
#### Executable ```shell
npm install -g setup-cpp
```
Then run `setup-cpp` with the available options.
```shell
# windows example (open PowerShell as admin)
setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true
RefreshEnv.cmd # activate the environment
```
```shell
# linux/macos example
sudo setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true
source ~/.cpprc
```
NOTE: In the `compiler` entry, you can specify the version after `-` like `llvm-11.0.0`. For the tools, you can pass a specific version instead of `true` that chooses the default version
NOTE: 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`.
NOTE: 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`.
#### With executable
You can download a self-contained executable file and run it with the available options.
Download the executable for your platform from [here](https://github.com/aminya/setup-cpp/releases/tag/v0.25.1), and run it with the available options. Download the executable for your platform from [here](https://github.com/aminya/setup-cpp/releases/tag/v0.25.1), and run it with the available options.
Tip: You can automate downloading using `wget`, `curl`, or other similar tools.
An example that installs llvm, cmake, ninja, ccache, and vcpkg: An example that installs llvm, cmake, ninja, ccache, and vcpkg:
```ps1 ```shell
# windows example (open PowerShell as admin) # windows example (open PowerShell as admin)
curl -LJO "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp-x64-windows.exe" curl -LJO "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp-x64-windows.exe"
./setup-cpp-x64-windows --compiler llvm --cmake true --ninja true --ccache true --vcpkg true ./setup-cpp-x64-windows --compiler llvm --cmake true --ninja true --ccache true --vcpkg true
@ -48,7 +78,7 @@ curl -LJO "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-c
RefreshEnv.cmd # activate cpp environment variables RefreshEnv.cmd # activate cpp environment variables
``` ```
```ps1 ```shell
# linux example # linux example
wget "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp-x64-linux" wget "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp-x64-linux"
chmod +x ./setup-cpp-x64-linux chmod +x ./setup-cpp-x64-linux
@ -57,7 +87,7 @@ sudo ./setup-cpp-x64-linux --compiler llvm --cmake true --ninja true --ccache tr
source ~/.cpprc # activate cpp environment variables source ~/.cpprc # activate cpp environment variables
``` ```
```ps1 ```shell
# macos example # macos example
wget "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp-x64-macos" wget "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp-x64-macos"
chmod +x ./setup-cpp-x64-macos chmod +x ./setup-cpp-x64-macos
@ -66,37 +96,6 @@ sudo ./setup-cpp-x64-macos --compiler llvm --cmake true --ninja true --ccache tr
source ~/.cpprc # activate cpp environment variables source ~/.cpprc # activate cpp environment variables
``` ```
NOTE: In the `compiler` entry, you can specify the version after `-` like `llvm-11.0.0`. For the tools, you can pass a specific version instead of `true` that chooses the default version
NOTE: 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`.
NOTE: On Unix systems, you will not need `sudo` if you are already a root user (e.g., in a GitLab runner or Docker).
#### With Nodejs
Download the `setup-cpp.js` file form [here](https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp.js), and run it with the available options.
On Windows:
Open the shell as admin, download via `curl`, then install
```ps1
# open shell as admin
curl.exe -LJO "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp.js"
node ./setup-cpp.js --compiler llvm --cmake true --ninja true --ccache true --vcpkg true
RefreshEnv.cmd # activate cpp environment variables
```
On Linux or Mac:
```ps1
wget "https://github.com/aminya/setup-cpp/releases/download/v0.25.1/setup-cpp.js"
sudo node ./setup-cpp.js --compiler llvm --cmake true --ninja true --ccache true --vcpkg true
source ~/.cpprc # activate cpp environment variables
```
### Inside GitHub Actions ### Inside GitHub Actions
Here is a complete cross-platform example that tests llvm, gcc, and msvc. It also uses cmake, ninja, vcpkg, and cppcheck. Here is a complete cross-platform example that tests llvm, gcc, and msvc. It also uses cmake, ninja, vcpkg, and cppcheck.
@ -199,7 +198,7 @@ See [this folder](https://github.com/aminya/setup-cpp/tree/master/dev/docker), f
If you want to build the ones included, then run: If you want to build the ones included, then run:
```ps1 ```shell
git clone --recurse-submodules https://github.com/aminya/setup-cpp git clone --recurse-submodules https://github.com/aminya/setup-cpp
cd ./setup-cpp cd ./setup-cpp
docker build -f ./dev/docker/ubuntu.dockerfile -t setup-cpp . docker build -f ./dev/docker/ubuntu.dockerfile -t setup-cpp .
@ -209,7 +208,7 @@ Where you should use the path to the dockerfile after `-f`.
After build, run the following to start an interactive shell in your container After build, run the following to start an interactive shell in your container
```ps1 ```shell
docker run -it setup-cpp docker run -it setup-cpp
``` ```