From 49d868c7cf50d2a2a772512caf55ce2c014c55b1 Mon Sep 17 00:00:00 2001 From: user Date: Sun, 26 Dec 2021 03:19:22 +0300 Subject: [PATCH] Cross toolchain file for cmake --- contrib/mingw64cross/mingw-w64.cmake | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) create mode 100644 contrib/mingw64cross/mingw-w64.cmake diff --git a/contrib/mingw64cross/mingw-w64.cmake b/contrib/mingw64cross/mingw-w64.cmake new file mode 100644 index 0000000..ce6cda9 --- /dev/null +++ b/contrib/mingw64cross/mingw-w64.cmake @@ -0,0 +1,32 @@ +# Sample toolchain file for building for Windows from an Ubuntu Linux system. +# +# Typical usage: +# *) install cross compiler: `sudo apt-get install mingw-w64` +# *) cd build +# *) CROSS=x86_64 TOOLCHAIN_ROOT=/opt DEP_ROOT=./mingw64_deps cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64.cmake .. + +set(CMAKE_SYSTEM_NAME Windows) +set(TOOLCHAIN_PREFIX $ENV{CROSS}-w64-mingw32) + +# cross compilers to use for C, C++ and Fortran +set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) +set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) +set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres) + +# target environment on the build host system +set(CMAKE_FIND_ROOT_PATH + $ENV{TOOLCHAIN_ROOT}/${TOOLCHAIN_PREFIX} + $ENV{DEP_ROOT}/boost/${TOOLCHAIN_PREFIX} + $ENV{DEP_ROOT}/db/${TOOLCHAIN_PREFIX} + $ENV{DEP_ROOT}/openssl/${TOOLCHAIN_PREFIX} + $ENV{DEP_ROOT}/png/${TOOLCHAIN_PREFIX} + $ENV{DEP_ROOT}/qt/${TOOLCHAIN_PREFIX} +) + +set(BerkeleyDB_INC $ENV{DEP_ROOT}/db/${TOOLCHAIN_PREFIX}/include) +set(BerkeleyDB_LIBS $ENV{DEP_ROOT}/db/${TOOLCHAIN_PREFIX}/lib) + +# modify default behavior of FIND_XXX() commands +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -- 1.7.1