开发者

Is there any virtualenv like tool for c++ out there?

开发者 https://www.devze.com 2023-04-01 09:20 出处:网络
I have found a problem with the test environment in a c++ problem. We have a machine which downloads the code from the version control system and, build it and execute the unit test, nothing new.

I have found a problem with the test environment in a c++ problem.

We have a machine which downloads the code from the version control system and, build it and execute the unit test, nothing new.

The problem arise when we add a new dependency in our project. We are developing a lot of features at the same time and it is something relatively common. We this happens w开发者_C百科e have to advise testers and give them an easy way to reproduce the compilation environment ...

And I was thinking if there is any other easy way to go through this ... don't know, some tool like virtualenv or buildout for python ..

I have been searching at google, but with no luck.

Any help will be appreciated.


You can always add all of the dependencies to the revision control system and provide automated scripts that will install the required subsystems. Where I work, if you just download the current version from the repository, you can build in one step an ISO image that can be installed by testers in any computer they want. The image contains everything from the OS up to the application.

Depending on your particular situation, you might want to start with smaller steps, like adding the dependencies to the repository and having the testers check there whether any new file appears or changes version.


No ready tool, AFAIK, except maybe for CMake which can control things like that for you.

For C++, it's fairly easy to manage "by hand" since you can set LIB, LIBPATH and PATH environment variables to carefully selected directories. No site.py, eggs, .pth files and the like as with Python.

We do this at our shop, setting up our build/development environment closely and have everything in revision control (mostly scripts that download huge zips of prebuilt libs and unpack them to the right places).

Small libs are copied to common dirs, larger get their own entry in the env-vars.

This works equally well for Python and Java. Haven't tried other languages...yet. :)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号