in our company we have 3 large multi-platform (Windows, Linux, MacOS X) products with many megabytes of C++ code. There are many parts, that are shared between the products typically OpenSource libraries as are for example Glib, Boost or QT framework.
Currently for the products build, we are using in-house build solution, but this solution have some limitation, that is why we would to switch product builds to TeamCity.
But we see a few issues, which we do not know how to solve the right way with TeamCity.
In this moment we have very complex build framework in Perl and components/products builds are implemented in this framework. Simply, every component have own build script and there is also module, that solving dependencies between the components (dependencies can be cross-platform). Now, for local build on developer workstation and in our automatic build system are used the same build scripts. Build dependencies, that cannot be built locally are downloaded from our build system, but the rest can be built from sources to installation packages on the developers machine.
And we don't know, how this solve the local developer build with TC.
- what is the preferred way, how to share build scripts between TC and local build?
- is there any easy way, how can developer collect (download) build dependencies (artifacts) for chosen build configuration?
We have many shared components and sometimes it is necessary to make any fix or update of these components, which means try to build and test it with all affected products before the commit to stable branch. Currently we are able to build most of the product from stable branches and the affected components from bugfix branch.
Is there any way how to easily perform described scenario with TC?