2

Is there a system or product that can be used in automating the process of building 32bit and 64bit libraries for multiple platforms (Solaris (Sparc & x86), and windows) used in building C++ based software applications that is replicable by other users and on different machines?

I'm searching to see if there is a product or system that is available to automate the process of compiling libraries as new ones come out for our software builds. We build software products in Solaris and Windows both 32bit and 64bit. We want to build the new libraries and then place them out in SVN or on a server for developers to grab. We need a process that is documentable and able to be done by any of our developers and able to be easily setup and reproduced on any machine.

The two options we are using so far is OSC scripting and bash scripting. I'm looking for more options. All I am concerned mostly about building the libraries, not the applications. I want the new libraries available for the developers to use in their builds. This is C++ development.

  • how about a Make file? – Fabricator Jun 5 '14 at 18:06
  • If you want suggestions for a flexible build system, I use and like scons. The only downside I'm aware of is that it is slow for large builds. – Faheem Mitha Jun 5 '14 at 18:47
2

You need a build automation tool, of which many exist. Even if you restrict to decent tools for building C++ programs that work on both Solaris and Windows, there are probably hundreds of choices. The classic language-agnostic build automation tool in the Unix and Windows world alike is make. There is a general consensus that it's possible to do better but no consensus as to who has actually done better.

Build automation tools merely execute a series of instructions to produce the resulting binaries and other products from the source. It sounds like you probably want a continuous integration tool, which could do things like checking out from svn (possibly automatically in a commit hook), calling make, calling test scripts, uploading the resulting product and test result somewhere, send a notice when the build is finished and show some kind of dashboard with the history of builds.

There isn't a de facto standard continuous integration tool, let alone “best”. Check through the Wikipedia list, pick a few likely-looking ones and spend a few minutes looking through their documentation. Then select one and set it up. Unless you have other requirements that you didn't mention, most of these products should be suitable.

1

Take a look at Jenkins using master/slave mode. You can setup a single Jenkins server that controls the builds on multiple different platforms.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.