aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorJuozas <juozaspo@gmail.com>2021-06-22 20:59:09 +0300
committerGitHub <noreply@github.com>2021-06-22 19:59:09 +0200
commitcec0dfcbbda1e11e5ff2f45e58ea393d0437d7c6 (patch)
treef7e8870f9859f996bee3203f6933b00e603725ab /util
parenta8b7c8ff38d305f1cde045564779e287adfca98b (diff)
downloadminetest-cec0dfcbbda1e11e5ff2f45e58ea393d0437d7c6.tar.gz
minetest-cec0dfcbbda1e11e5ff2f45e58ea393d0437d7c6.tar.bz2
minetest-cec0dfcbbda1e11e5ff2f45e58ea393d0437d7c6.zip
Buildbot: Use posix on Win64 builds if available (#11355)
Use posix mingw-w64 toolchain on Win64 builds where applicable, avoids many build errors when using buildwin64.sh to build 64 bit builds on Ubuntu based Linux distributions
Diffstat (limited to 'util')
-rwxr-xr-xutil/buildbot/buildwin64.sh13
-rw-r--r--util/buildbot/toolchain_x86_64-w64-mingw32-posix.cmake19
2 files changed, 31 insertions, 1 deletions
diff --git a/util/buildbot/buildwin64.sh b/util/buildbot/buildwin64.sh
index b9b23a133..3b5d61c96 100755
--- a/util/buildbot/buildwin64.sh
+++ b/util/buildbot/buildwin64.sh
@@ -18,7 +18,18 @@ mkdir -p $builddir
builddir="$( cd "$builddir" && pwd )"
libdir=$builddir/libs
-toolchain_file=$dir/toolchain_x86_64-w64-mingw32.cmake
+# Test which win64 compiler is present
+which x86_64-w64-mingw32-gcc &>/dev/null &&
+ toolchain_file=$dir/toolchain_x86_64-w64-mingw32.cmake
+which x86_64-w64-mingw32-gcc-posix &>/dev/null &&
+ toolchain_file=$dir/toolchain_x86_64-w64-mingw32-posix.cmake
+
+if [ -z "$toolchain_file" ]; then
+ echo "Unable to determine which mingw32 compiler to use"
+ exit 1
+fi
+echo "Using $toolchain_file"
+
irrlicht_version=1.9.0mt1
ogg_version=1.3.4
vorbis_version=1.3.7
diff --git a/util/buildbot/toolchain_x86_64-w64-mingw32-posix.cmake b/util/buildbot/toolchain_x86_64-w64-mingw32-posix.cmake
new file mode 100644
index 000000000..b6b237657
--- /dev/null
+++ b/util/buildbot/toolchain_x86_64-w64-mingw32-posix.cmake
@@ -0,0 +1,19 @@
+# name of the target operating system
+SET(CMAKE_SYSTEM_NAME Windows)
+
+# which compilers to use for C and C++
+# *-posix is Ubuntu's naming for the MinGW variant that comes with support
+# for pthreads / std::thread (required by MT)
+SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)
+SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
+SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
+
+# here is the target environment located
+SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)
+
+# 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)