aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorkwkam <kwkam@users.noreply.github.com>2017-12-09 18:06:40 +0800
committerkwkam <kwkam@users.noreply.github.com>2017-12-09 18:06:40 +0800
commit7b684afbc0c4d4cf57ac08a8e9818b056a0d0b11 (patch)
treeb440ae90c47ef074408d2826aca2c57a58538897 /cmake
parentc6391525416f9994b14278f2610f4ceeed6a6fd4 (diff)
build: add mingw64 cross-compiling
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Toolchain-cross-MinGW-w64-x86_64.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/Toolchain-cross-MinGW-w64-x86_64.cmake b/cmake/Toolchain-cross-MinGW-w64-x86_64.cmake
new file mode 100644
index 0000000..1d98710
--- /dev/null
+++ b/cmake/Toolchain-cross-MinGW-w64-x86_64.cmake
@@ -0,0 +1,24 @@
+# https://cmake.org/Wiki/CMake_Cross_Compiling
+
+# the name of the target operating system
+SET(CMAKE_SYSTEM_NAME Windows)
+
+SET(COMPILER_PREFIX "x86_64-w64-mingw32")
+
+# which compilers to use for C and C++
+find_program(CMAKE_C_COMPILER NAMES ${COMPILER_PREFIX}-gcc)
+find_program(CMAKE_CXX_COMPILER NAMES ${COMPILER_PREFIX}-g++)
+find_program(CMAKE_RC_COMPILER NAMES ${COMPILER_PREFIX}-windres)
+
+# pkg-config
+find_program(PKG_CONFIG_EXECUTABLE NAMES ${COMPILER_PREFIX}-pkg-config)
+
+# here is the target environment located
+SET(CMAKE_FIND_ROOT_PATH /usr/${COMPILER_PREFIX}/sys-root/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 BOTH)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)