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>
This commit is contained in:
Dirk Hohndel 2020-10-28 10:55:02 -07:00
parent cdf1865246
commit e9073a7570
5 changed files with 13 additions and 12 deletions

View file

@ -474,7 +474,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
if (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") if (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
if(NOT DEFINED OBJCOPY) if(NOT DEFINED OBJCOPY)
set(OBJCOPY i686-w64-mingw32.shared-objcopy) set(OBJCOPY x86_64-w64-mingw32.shared-objcopy)
endif() endif()
find_program(OBJCOPY_FOUND ${OBJCOPY}) find_program(OBJCOPY_FOUND ${OBJCOPY})
if (OBJCOPY_FOUND) if (OBJCOPY_FOUND)

View file

@ -9,15 +9,16 @@ cd /__w
bash subsurface/.github/workflows/scripts/windows-container-prep.sh bash subsurface/.github/workflows/scripts/windows-container-prep.sh
# remove artifact from prior builds # remove artifact from prior builds
rm mdbtools/include/mdbver.h rm -f mdbtools/include/mdbver.h
# build the installer # build the installer
rm -rf win32 rm -rf win64
mkdir win32 mkdir win64
cd win32 cd win64
# build Subsurface and then smtk2ssrf # 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 bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer
mv subsurface/subsurface-*.exe /__w mv subsurface/subsurface-*.exe /__w

View file

@ -17,7 +17,7 @@
# JOBS := 1 # JOBS := 1
# #
# # This variable controls the targets that will build. # # 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 # # Uncomment the next line if you want to do debug builds later
# # qtbase_CONFIGURE_OPTS=-debug-and-release # # qtbase_CONFIGURE_OPTS=-debug-and-release
@ -101,7 +101,7 @@ EXECDIR=`pwd`
BASEDIR=$(cd "$EXECDIR/.."; pwd) BASEDIR=$(cd "$EXECDIR/.."; pwd)
BUILDDIR=$(cd "$EXECDIR"; pwd) BUILDDIR=$(cd "$EXECDIR"; pwd)
MXEDIR=${MXEDIR:-mxe} MXEDIR=${MXEDIR:-mxe}
MXEBUILDTYPE=${MXEBUILDTYPE:-i686-w64-mingw32.shared.posix.dw2} MXEBUILDTYPE=${MXEBUILDTYPE:-x86_64-w64-mingw32.shared}
echo $BUILDDIR echo $BUILDDIR

View file

@ -28,7 +28,7 @@
!define MUI_ICON "subsurface.ico" !define MUI_ICON "subsurface.ico"
# Default installation folder # Default installation folder
InstallDir "$PROGRAMFILES\Subsurface" InstallDir "$PROGRAMFILES64\Subsurface"
# Get installation folder from registry if available # Get installation folder from registry if available
InstallDirRegKey HKCU "Software\Subsurface" "" InstallDirRegKey HKCU "Software\Subsurface" ""

View file

@ -10,11 +10,11 @@
set -x set -x
set -e set -e
mkdir -p win32 mkdir -p win64
cd win32 cd win64
# right now the container still has an older version of MXE installed # 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 bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer