From e7e895438497f4efcb4d8bee240b2fe4e5938184 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Sat, 29 Sep 2012 17:19:23 +0200 Subject: MXE support and CMake files refactoring - added support for cross-compiling with MXE (http://mxe.cc/) - refactored CMake files, adding some options and moving definitions to more suitable places --- HOWTO-MXE.txt | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 HOWTO-MXE.txt (limited to 'HOWTO-MXE.txt') diff --git a/HOWTO-MXE.txt b/HOWTO-MXE.txt new file mode 100644 index 0000000..7b93143 --- /dev/null +++ b/HOWTO-MXE.txt @@ -0,0 +1,64 @@ +Cross-compiling with MXE (http://mxe.cc) + +MXE works for any BSD-compatible system (including Linux). +It is a complete package with cross-compiler to Win32 (a MinGW variant) +and includes scripts to automatically download and build many 3rd party +libraries and tools. + +1. See the MXE website for list of required packages and make sure + you have them installed. + +2. Download MXE and unpack it in the directory, where you want to keep it + permanently. During the build, MXE will write that path to many files, + so moving that directory can be tricky. + +3. `cd' to the MXE root directory. + It already contains a univeral Makefile for everything. + Usage is simply `make [name_of_package]'. + It will automatically check for dependencies, etc. + The packages will be installed in the MXE directory in usr/. + + You need to `make gcc' for basic compiler and then some additional + libraries. In the end, you should have the following packages installed + (this is the final listing of usr/installed/): + + binutils + boost + bzip2 + check-requirements + expat + freetype + gcc + gcc-gmp + gcc-mpc + gcc-mpfr + gettext + glew + jpeg + libiconv + libpng + libtool + mingwrt + openal + portaudio + sdl + sdl_image + sdl_ttf + tiff + w32api + xz + zlib + +4. Now `cd' to colobot directory. To cross-compile a CMake project, you have to specify + a CMake toolchain file. MXE has such file in MXE's directory: + usr/i686-pc-mingw32/share/cmake/mxe-conf.cmake + Toolchain file is specified thus: + `cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/mxe-conf.cmake .' + The new CMake files in colobot should detect that MXE is being used and they will + modify flags, paths, etc. You should not run into any problems. + +5. `make' should now compile the game with the resulting exe in bin/colobot.exe. + The exe is linked against all libraries *statically*, so there are no dependencies + on external dlls. However, the resulting binary will be huge with all these libraries, + so you should `strip bin/colobot.exe'. + -- cgit v1.2.3-1-g7c22