1set(CMAKE_SYSTEM_NAME Windows) 2 3set(CMAKE_C_COMPILER_TARGET x86_64) 4set(CMAKE_CXX_COMPILER_TARGET x86_64) 5set(CMAKE_RC_COMPILER_TARGET x86_64) 6 7set(CMAKE_CROSSCOMPILING TRUE) 8set(CMAKE_CROSSCOMPILING_EMULATOR wine) 9 10set(CMAKE_FIND_ROOT_PATH /usr/x86_64-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) 19if(NOT C_COMPILER_FULL_PATH) 20 message(FATAL_ERROR "Cross-compiler for ${CMAKE_C_COMPILER_TARGET} not found") 21endif() 22set(CMAKE_C_COMPILER ${C_COMPILER_FULL_PATH}) 23 24find_program(CXX_COMPILER_FULL_PATH NAMES 25 ${CMAKE_C_COMPILER_TARGET}-w64-mingw32-g++-posix 26 ${CMAKE_CXX_COMPILER_TARGET}-w64-mingw32-g++) 27if(CXX_COMPILER_FULL_PATH) 28 set(CMAKE_CXX_COMPILER ${CXX_COMPILER_FULL_PATH}) 29endif() 30 31find_program(RC_COMPILER_FULL_PATH NAMES ${CMAKE_RC_COMPILER_TARGET}-w64-mingw32-windres) 32if(RC_COMPILER_FULL_PATH) 33 set(CMAKE_RC_COMPILER ${RC_COMPILER_FULL_PATH}) 34endif() 35