Cross-platform build environment

As good developers, we keep our code as standard as possible to help port between platforms. But what tools are available that help us create code in a single form on multiple platforms.

* The nix family has make , but Windows needs nmake .

I read about SCons , but never used it in anger. What is your favorite build tool, why do you think it is effective, and are there any restrictions ( i.e. platforms with poor support, etc.).

Platform Platform Identifiers.

+7
cross-platform build-automation
source share
8 answers

cmake for c / C ++ environments is good. http://www.cmake.org/

+5
source share

I personally use ant, rake and maven2. I have used ant the most and find it great for several reasons:

  • Since it is java, it works on many platforms (without changing any scripts).

  • Assembly files are written in XML and it is quite easy to write

  • There are many third-party extensions available for it, and it's easy to write plugins for

+4
source share

we do extreme cross-development, and our code runs on linux, windows ce, windows 2K, the kernel and uCOS-II. since each environment uses a different β€œmake” methodology (for example, compilation using the GUI code is required for the kernel client).

I used ANT in conjunction with perl for about 2 years, but this led to the build of the script being completely unrepairable.

now we have switched to using python, which increases the maintainability of scripts.

bottom line, I did not find a finished tool and had to build my own. maybe when I have time (2017?), I will pack my scripts and distribute them ....

+2
source share

If you are in the Java world, there are quite a few tools that are cross-platform. Apache Ant and Maven are both build tools that will run on any platform that has Java.

Cruise control (a continuous integration tool) also works on Windows and Linux (it is also written in Java).

I had no real problems with the basic tools, the only problems that I sometimes came from things external to the assembly process, that is, publishing artifacts - this will vary depending on the systems, so I did not find any one way there settings.

0
source share

For C / C ++ development, I found that bakefile works well. The rather large wxWidgets project, a cross-platform cross-platform utility and UI library, uses it to generate an assembly file.

Bakefile is a cross-platform, built-in generator of cross-compiler make files. It takes a compiler-independent description of the build tasks as input and generates its own makefile (autoconf Makefile.in, Visual C ++ project, bcc makefile, etc.).

Bakefile's goal is to generate custom makefiles so people can use their favorite tools. There are other cross-platform solutions, but they are either not native, but require the use of unfamiliar tools (Boost.Build) or too limited (qmake).

0
source share

You can use gmake for Windows as well as with cygwin / minGW or create your own Windows files on Linux. http://cdtdoug.blogspot.com/2009/05/mingw-cross-for-linux.html

0
source share

There are tools like Opus Make or MKS Toolkit, which offers multi-platform support and support. If you have an existing make script code base, it's easier to port it to one of them. I suspect you might be looking for similar tools in DDJ magazine ads.

0
source share

Over the past 18 months, we have run the Java environment for Linux, Windows, and Mac.

  • Maven 2 manages our builds, it's pretty easy to achieve compliance here. Where M2 plugins dare not test, we use small Ant scripts.
  • In the IDE, we use Eclipse and IDEA - both, of course, multi-platform.
  • Testing - JUnit, Fitnesse, Fest - everything is well multi-platform.
  • Release scripts are written in Ruby. There are a bit more issues with Windows here, but the function to convert paths as needed usually does the trick.
  • TeamCity makes CI. We really ported this from Windows to Linux and did not find any errors at all, a very good package.

We used GWT for a while, and it caused us a lot of pain. Be careful if you are so swaying.

0
source share

All Articles