diff options
Diffstat (limited to 'cmake/mingw32-w64-cross-travis.toolchain.cmake')
-rw-r--r-- | cmake/mingw32-w64-cross-travis.toolchain.cmake | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/cmake/mingw32-w64-cross-travis.toolchain.cmake b/cmake/mingw32-w64-cross-travis.toolchain.cmake new file mode 100644 index 0000000000..bdd14365c6 --- /dev/null +++ b/cmake/mingw32-w64-cross-travis.toolchain.cmake @@ -0,0 +1,53 @@ +# +# Mingw-w64 cross compiler toolchain +# +# - The usual CMAKE variables will point to the cross compiler +# - HOST_EXE_LINKER, HOST_C_COMPILER, HOST_EXE_LINKER_FLAGS, +# HOST_C_FLAGS point to a host compiler +# + +set(MINGW_TRIPLET i686-w64-mingw32) +# For x86_64 use +#set(MINGW_TRIPLET x86_64-w64-mingw32) + +# The location of your toolchain sys-root +set(MINGW_PREFIX_PATH /opt/mingw32/${MINGW_TRIPLET}/) +# or sometimes like this +#set(MINGW_PREFIX_PATH /usr/${MINGW_TRIPLET}/sys-root) + +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Windows) + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER ${MINGW_TRIPLET}-gcc) +set(CMAKE_CXX_COMPILER ${MINGW_TRIPLET}-g++) +set(CMAKE_RC_COMPILER ${MINGW_TRIPLET}-windres) +set(CMAKE_C_COMPILER ${MINGW_TRIPLET}-gcc) +set(CMAKE_CXX_COMPILER ${MINGW_TRIPLET}-g++) +set(CMAKE_RC_COMPILER ${MINGW_TRIPLET}-windres) + +# Where is the target environment located +set(CMAKE_FIND_ROOT_PATH "${MINGW_PREFIX_PATH}/mingw") + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +set(CROSS_TARGET ${MINGW_TRIPLET}) + +# We need a host compiler too - assuming mildly sane Unix +# defaults here +set(HOST_C_COMPILER cc) +set(HOST_EXE_LINKER ld) + +if (MINGW_TRIPLET MATCHES "^x86_64") + set(HOST_C_FLAGS) + set(HOST_EXE_LINKER_FLAGS) +else() + # In 32 bits systems have the HOST compiler generate 32 bits binaries + set(HOST_C_FLAGS -m32) + set(HOST_EXE_LINKER_FLAGS -m32) +endif() |