Blog
All Blog Posts | Next Post | Previous Post
Adding an existing library to Smart Setup in 20 minutes
Wednesday, September 3, 2025
We released Smart Setup 2.0 about a week ago. It comes with a lot of new features, but the one that stands out the most is a simple way to add any library, not just tms libraries, to it.
Why did we do that? First, because you asked. But also because you can simplify a lot of tasks by having every library that you use in SmartSetup. For example:
Smart Setup fully supports installing its libraries in a separate registry branch of Rad Studio, so you can have multiple versions of the libraries installed in different registry branches on the same machine. But if the other libraries dont have the option to install to a different registry entry, then you cant really use a different registry branch.
You can now put those libraries in Smart Setups dependency chain. They can depend on tms libraries, and they will be re-compiled if their dependencies change. When building a full product, Smart Setup will compile the libraries and applications in parallel, but of course respecting dependencies, so product A wont be compiled until all of its dependencies are.
You can use Smart Setup to compile applications too. In that case, if the libraries your application uses are all in Smart Setup, you can build your application installing no libraries at all. This is really useful on build servers, as you dont need to change the Delphi environment.
We released some documentation (perpetual work in progress) about how to add a library to Smart Setup, but in this blog post I wanted to show how it is done in real time. As I wanted the video to be honest, I didnt rehearse it or edit it significantly after it was recorded.
Looking for a component that we hadnt already put in the community server, I remembered VirtualTreeView, and went with it. I didnt look at VirtualTreeView before recording the video (you can see I originally went to the wrong, archived repository).
Note: Some editing was done. For example, I removed the part when I went to GitHub, and this being a clean Virtual Machine, it started asking for passwords and 2FA. But the video is mostly real time, mistakes and all.
Part 1: Making the library installable with Smart Setup
This part is mostly writing a file: tmsbuild.yaml, and adding it to the root folder of the component.
Part 2: Adding the library to the Smart Setup Community Server
For your own libraries or applications, the road ends at part 1. Adding tmsbuild.yaml to the root folder of your library or application is all you need for SmartSetup to work with them. Maybe you will want to publish them in your own server (and your server can be a zip file), but that is not required.
However, this is a public library that others might want to use too, so in this part we will add it to the Smart Setup Community Server. This is just a server like the ones you can do for your own stuff, where you can share the library with the world. For that, you need to fork the community repository (hosted at https://github.com/tmssoftware/smartsetup-registry/tree/main), add the file you created in part 1, and then do a pull request so we add it to the main repository. You can watch the steps below:
We are looking forward to see your components working with Smart Setup! Please don't hesitate to contact us if you have any doubts
Adrian Gallero

This blog post has not received any comments yet.
All Blog Posts | Next Post | Previous Post