Get the build machines you need for your project.
Linux, Windows, MacOS or custom environments for other targets, deployed fast & just for you.
tipi is designed for CMake builds. Run your CMake build scripts on our on-demand cloud nodes and benefit from our caching and remoting technology.
More power at your fingertip with build machines with hundreds of cores and terabytes of RAM when you need them.
Discover what tipi's Code. Reuse. Build. is all about!
tipi's approach to dependency management is based on a simple - declarative - way to describe your project's dependency tree. Read the .tipi/deps documentation.
You tell tipi where the dependency is to be found (and optionally things like which version of it you want) and it will do the heavy lifting for you:
Depending on nlohmann/json
release v3.10.4
from Github and build the dependency using
tipi's CMake build system generator excluding
a couple of folders from the scan.
{
"nlohmann/json" : {
"@" : "v3.10.4",
"x": [ "/benchmarks", "/tests", "/docs", "/tools" ]
}
}
Let's add boostorg/boost
boost::filesystem and boost::uuid version 1.80.0
as
a dependency to our project and have tipi rely on the exiting CMakeList.txt of that project by adding
"u": true
to the dependeny:
{
"nlohmann/json" : {
"@" : "v3.10.4",
"x": [ "/benchmarks", "/tests", "/docs", "/tools" ]
},
"boostorg/boost": {
"@": "boost-1.80.0",
"u": true, /** <== THIS */
"opts": "set(BOOST_INCLUDE_LIBRARIES filesystem uuid)",
"packages": [
"boost_filesystem",
"boost_uuid"
],
"targets": [
"Boost::filesystem",
"Boost::uuid"
]
}
}
Read about the full example here: Getting started with C++ & tipi
tipi deploys ready made images to powerful, single user cloud nodes in seconds and runs your build remotely. You can switch the build target easily and even provide your own environment description if required.
Additionally you can also execute your tests and run your application on the tipi remote node to improve developer feedback.
Using tipi in your CI pipeline eliminates environment differences between developers machines and CI/CD. This bring the CI to your fingertips and reduces cost by enabling cache sharing.
Easily build for different remote OSes and toolchains by selecting one of our build targets:
$ tipi build . -t linux
...
$ tipi build . -t windows
...
Read more about how to run builds (for example locally) in our documentation
In this demo we are running a local linux build with post-build test execution of the project tipi-build/simple-example.
Try it yourself:
$ git clone https://github.com/tipi-build/simple-example/
$ cd simple-example
$ tipi . -t linux --test all
(or for a remote build for another platform)
$ tipi build . -t windows
We want to see C++ and the whole ecosystem flourish. We contribute to the continued evolution
of C++ and the ecosystem through our memberships at the ISO as well as at the Standard C++ Foundation.
We are sponsoring community events and we offer opportunities to facilitate contributions
to the ISO C++ Standard. Get in touch with us to learn more about this.
Upcomming events:
Past events: