summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2020-10-28 10:55:02 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-10-30 12:24:36 -0700
commite9073a7570f490ad169dbd92a7d6f102c423c2ca (patch)
tree4c8b4ba00449ea030d04c8683821b7162fa09a42
parentcdf1865246563fde47a1cf2a5fc3c0fd70b8e5ba (diff)
downloadsubsurface-e9073a7570f490ad169dbd92a7d6f102c423c2ca.tar.gz
build-system: first steps towards a 64bit Windows build
This is barely scratching the surface (no put intended), and of course the container needs to be updated, first, to have a 64bit version of MXE installed, but this seems to help make libmtp build correctly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--CMakeLists.txt2
-rw-r--r--packaging/windows/create-win-installer.sh11
-rwxr-xr-xpackaging/windows/mxe-based-build.sh4
-rw-r--r--packaging/windows/subsurface.nsi.in2
-rw-r--r--scripts/windows-container/in-container-build.sh6
5 files changed, 13 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d08af9382..478bf305d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -474,7 +474,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
if (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
if(NOT DEFINED OBJCOPY)
- set(OBJCOPY i686-w64-mingw32.shared-objcopy)
+ set(OBJCOPY x86_64-w64-mingw32.shared-objcopy)
endif()
find_program(OBJCOPY_FOUND ${OBJCOPY})
if (OBJCOPY_FOUND)
diff --git a/packaging/windows/create-win-installer.sh b/packaging/windows/create-win-installer.sh
index e5e5c946e..f8d95f156 100644
--- a/packaging/windows/create-win-installer.sh
+++ b/packaging/windows/create-win-installer.sh
@@ -9,15 +9,16 @@ cd /__w
bash subsurface/.github/workflows/scripts/windows-container-prep.sh
# remove artifact from prior builds
-rm mdbtools/include/mdbver.h
+rm -f mdbtools/include/mdbver.h
# build the installer
-rm -rf win32
-mkdir win32
-cd win32
+rm -rf win64
+mkdir win64
+cd win64
# build Subsurface and then smtk2ssrf
-export MXEBUILDTYPE=i686-w64-mingw32.shared
+export MXEBUILDTYPE=x86_64-w64-mingw32.shared
+export PATH=/win/mxe/usr/bin:$PATH
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer
mv subsurface/subsurface-*.exe /__w
diff --git a/packaging/windows/mxe-based-build.sh b/packaging/windows/mxe-based-build.sh
index fc4c73db3..cb2e65beb 100755
--- a/packaging/windows/mxe-based-build.sh
+++ b/packaging/windows/mxe-based-build.sh
@@ -17,7 +17,7 @@
# JOBS := 1
#
# # This variable controls the targets that will build.
-# MXE_TARGETS := i686-w64-mingw32.shared.posix.dw2
+# MXE_TARGETS := x86_64-w64-mingw32.shared
#
# # Uncomment the next line if you want to do debug builds later
# # qtbase_CONFIGURE_OPTS=-debug-and-release
@@ -101,7 +101,7 @@ EXECDIR=`pwd`
BASEDIR=$(cd "$EXECDIR/.."; pwd)
BUILDDIR=$(cd "$EXECDIR"; pwd)
MXEDIR=${MXEDIR:-mxe}
-MXEBUILDTYPE=${MXEBUILDTYPE:-i686-w64-mingw32.shared.posix.dw2}
+MXEBUILDTYPE=${MXEBUILDTYPE:-x86_64-w64-mingw32.shared}
echo $BUILDDIR
diff --git a/packaging/windows/subsurface.nsi.in b/packaging/windows/subsurface.nsi.in
index c13abdae8..bc9f10cc0 100644
--- a/packaging/windows/subsurface.nsi.in
+++ b/packaging/windows/subsurface.nsi.in
@@ -28,7 +28,7 @@
!define MUI_ICON "subsurface.ico"
# Default installation folder
- InstallDir "$PROGRAMFILES\Subsurface"
+ InstallDir "$PROGRAMFILES64\Subsurface"
# Get installation folder from registry if available
InstallDirRegKey HKCU "Software\Subsurface" ""
diff --git a/scripts/windows-container/in-container-build.sh b/scripts/windows-container/in-container-build.sh
index fd38d7ba0..d7a563541 100644
--- a/scripts/windows-container/in-container-build.sh
+++ b/scripts/windows-container/in-container-build.sh
@@ -10,11 +10,11 @@
set -x
set -e
-mkdir -p win32
-cd win32
+mkdir -p win64
+cd win64
# right now the container still has an older version of MXE installed
-export MXEBUILDTYPE=i686-w64-mingw32.shared
+export MXEBUILDTYPE=x86_64-w64-mingw32.shared
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer