1set(CMAKE_SYSTEM_NAME Windows) 2 3set(CMAKE_C_COMPILER_TARGET i686) 4set(CMAKE_CXX_COMPILER_TARGET i686) 5set(CMAKE_RC_COMPILER_TARGET i686) 6 7set(CMAKE_CROSSCOMPILING TRUE) 8set(CMAKE_CROSSCOMPILING_EMULATOR wine) 9 10set(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32) 11set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 15# Prefer posix gcc variant for gtest pthread support 16find_program(C_COMPILER_FULL_PATH NAMES 17 ${CMAKE_C_COMPILER_TARGET}-w64-mingw32-gcc-posix 18 ${CMAKE_C_COMPILER_TARGET}-w64-mingw32-gcc 19 gcc-mingw32-w64-${CMAKE_C_COMPILER_TARGET}) 20if(NOT C_COMPILER_FULL_PATH) 21 message(FATAL_ERROR "Cross-compiler for ${CMAKE_C_COMPILER_TARGET} not found") 22endif() 23set(CMAKE_C_COMPILER ${C_COMPILER_FULL_PATH}) 24 25find_program(CXX_COMPILER_FULL_PATH NAMES 26 g++-mingw-w64-${CMAKE_CXX_COMPILER_TARGET} 27 ${CMAKE_CXX_COMPILER_TARGET}-w64-mingw32-g++-posix 28 ${CMAKE_CXX_COMPILER_TARGET}-w64-mingw32-g++) 29if(CXX_COMPILER_FULL_PATH) 30 set(CMAKE_CXX_COMPILER ${CXX_COMPILER_FULL_PATH}) 31endif() 32 33find_program(RC_COMPILER_FULL_PATH NAMES 34 ${CMAKE_RC_COMPILER_TARGET}-w64-mingw32-windres) 35if(RC_COMPILER_FULL_PATH) 36 set(CMAKE_RC_COMPILER ${RC_COMPILER_FULL_PATH}) 37endif() 38