Skip to content

crosscompiling using mingw

Hleb Valoshka edited this page Apr 21, 2020 · 5 revisions
export CC=i686-w64-mingw32-gcc
export CXX=i686-w64-mingw32-g++
export RC=i686-w64-mingw32-windres
./bootstrap-vcpkg.sh -disableMetrics -useSystemBinaries
./vcpkg install opengl:x86-mingw freetype:x86-mingw eigen3:x86-mingw fmt:x86-mingw libpng:x86-mingw libjpeg-turbo:x86-mingw lua:x86-mingw

libepoxy should be installed manually.

cross.txt:

[binaries]
c = '/usr/bin/i686-w64-mingw32-gcc'
cpp = '/usr/bin/i686-w64-mingw32-cpp'
ar = '/usr/bin/i686-w64-mingw32-ar'
strip = '/usr/bin/i686-w64-mingw32-strip'
pkgconfig = '/usr/bin/i686-w64-mingw32-pkg-config'
exe_wrapper = 'wine'

[properties]
root = '/usr/i686-w64-mingw32'
c_args = [ '-pipe', '-Wp,-D_FORTIFY_SOURCE=2', '-fexceptions', '--param=ssp-buffer-size=4', '-I/usr/i686-w64-min
c_link_args = [ '-L/usr/i686-w64-mingw32/lib' ]

[host_machine]
system = 'windows'
cpu_family = 'x86'
cpu = 'i686'
endian = 'little'
meson --cross-file cross.txt meson --buildtype=release --default-library=static --prefix=build/
cmake -S$PWD -B/tmp/mingw -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DENABLE_SPICE=OFF \
  -DENABLE_TTF=OFF \
  -DENABLE_QT=OFF \
  -DENABLE_WIN=ON \
  -DENABLE_NLS=ON \
  -DCMAKE_SYSTEM_NAME=Windows \
  -DCMAKE_PREFIX_PATH=$libepoxy \
  -DVCPKG_TARGET_TRIPLET=x86-mingw \
  -DCMAKE_FIND_USE_CMAKE_SYSTEM_PATH=OFF \
  -DCMAKE_TOOLCHAIN_FILE=$vcpkg/scripts/buildsystems/vcpkg.cmake
Clone this wiki locally