Skip to content

[tofupilot] Add new port (v2.0.0)#51023

Closed
upview wants to merge 1 commit intomicrosoft:masterfrom
upview:add-tofupilot
Closed

[tofupilot] Add new port (v2.0.0)#51023
upview wants to merge 1 commit intomicrosoft:masterfrom
upview:add-tofupilot

Conversation

@upview
Copy link
Copy Markdown

@upview upview commented Apr 7, 2026

New port: tofupilot

Version: 2.0.0
Homepage: https://github.com/tofupilot/cpp
License: MIT
Supports: All platforms except UWP

Description

Official C++ SDK for the TofuPilot test & measurement platform. Header-only library providing a typed, synchronous REST API client with builder-pattern operations, automatic retries with exponential backoff, and a comprehensive error hierarchy.

Dependencies

  • nlohmann-json
  • cpp-httplib (with OpenSSL)
  • vcpkg-cmake (host)
  • vcpkg-cmake-config (host)

@upview
Copy link
Copy Markdown
Author

upview commented Apr 7, 2026

@microsoft-github-policy-service agree company="TofuPilot SA"

@dg0yt
Copy link
Copy Markdown
Contributor

dg0yt commented Apr 8, 2026

Why not use the PR template for new ports? The original post almost duplicates what is in the port manifest.

@vicroms
Copy link
Copy Markdown
Member

vicroms commented Apr 8, 2026

Hi @upview ,

Thanks for your contribution! Unfortunately, this port doesn't yet meet our minimum project maturity requirement.

But don't worry, you can still use vcpkg to install this library! Here are some alternatives you can try:

Publish a collection of overlay ports

Set up a repository to hold your port(s):

mkdir my-vcpkg-ports
cd my-vcpkg-ports
git init

Follow the registry structure and create a ports folder to store all your ports.

You don’t need to create a versions folder since you’re not making a full registry. This setup makes it easier if you want to turn your repository into a full registry later.

mkdir ports
# Put all your ports inside the "ports" folder
git add .
git commit -m "Add ports"

Publish your repository somewhere public like https://github.com:

git remote add origin https://github.com/<my username>/my-vcpkg-ports
git push origin HEAD

Add instructions for users in your repository’s README:

To use these ports with vcpkg:

```bash
git clone https://github.com/<my username>/my-vcpkg-ports my-vcpkg-ports
vcpkg install <ports> --overlay-ports=<path/to>/my-vcpkg-ports/ports
```

Check out vcpkg’s docs on [using overlay ports](https://learn.microsoft.com/vcpkg/concepts/overlay-ports#using-an-overlay-port).

Publish your port alongside your project

This is great for library authors who want to include a vcpkg port within their project.

Place your port somewhere in your repository, like:

# Place ports in <repo root>/vcpkg/ports
mkdir -p vcpkg/ports
cp <path/to/my port> ./vcpkg/ports/
git add ./vcpkg/ports/.
git commit -m "Add vcpkg port files"
git push

Add usage instructions in your repository’s README:

To install this library with vcpkg:

```bash
git clone https://github.com/<my username>/<my repository> <local repository>
vcpkg install <port> --overlay-ports=<path/to/local repository>/vcpkg/ports
```

See vcpkg’s docs on [using overlay ports](https://learn.microsoft.com/vcpkg/concepts/overlay-ports#using-an-overlay-port).

NOTE: If you want the port to stay in sync with your project’s sources, instead of using the vcpkg_from_* portfile functions, try something like set(SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}/../..) and set SOURCE_PATH to the relative path to your sources from portfile.cmake.

Publish a Git registry

If you want your users to fully benefit from vcpkg’s versioning features, create a Git registry.

Check out our full guide on how to create a custom registry.

Then add instructions for users in your repository’s README:

To use this registry, add it to your `vcpkg-configuration.json`:

`vcpkg-configuration.json`

```json
{
  "registries": [{
    "kind": "git",
    "repository": "https://github.com/<my username>/<my repository>",
    "baseline": "<latest commit SHA>",
    "packages": [ /* list of packages you want to consume from this registry */ ]
  }]
}
```

Read more about [consuming packages from custom registries](https://learn.microsoft.com/vcpkg/consume/git-registries).

Let us know if any of these options sound good to you or if you want help setting them up. You can still publish your port in the curated registry once it meets our maturity guidelines!

@vicroms vicroms closed this Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants