mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
INSTALL file: add Windows cross building instructions
And other small adjustments Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
899d3aeb3a
commit
da16258d61
1 changed files with 57 additions and 25 deletions
82
INSTALL
82
INSTALL
|
@ -140,10 +140,11 @@ $ qmake SPECIAL_MARBLE_PREFIX=1 # on Fedora/OpenSUSE you need qmake-qt5
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install # [optionally, add: prefix=/usr/local]
|
$ sudo make install # [optionally, add: prefix=/usr/local]
|
||||||
|
|
||||||
At least on Fedora you need to make sure that /usr/local/lib is searched
|
At least on Fedora and OpenSUSE you need to make sure that /usr/local/lib
|
||||||
for shared libraries (this is where the steps above installed
|
is searched for shared libraries (this is where the steps above installed
|
||||||
libdivecomputer and libmarblewidget in oder not to conflict with system
|
libdivecomputer and libmarblewidget in order not to conflict with system
|
||||||
pacakges). So you need to do the following:
|
pacakges). So you need to do the following:
|
||||||
|
|
||||||
$ sudo echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf
|
$ sudo echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf
|
||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
|
|
||||||
|
@ -263,58 +264,89 @@ Cross-building Subsurface on Linux for Windows
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
Subsurface builds nicely with MinGW - the official builds are done as
|
Subsurface builds nicely with MinGW - the official builds are done as
|
||||||
cross builds under Linux (currently on Fedora 19). A shell script to do
|
cross builds under Linux (currently on Fedora 20). A shell script to do
|
||||||
that (plus the .nsi file to create the installer with makensis) are
|
that (plus the .nsi file to create the installer with makensis) are
|
||||||
included in the packaging/windows directory.
|
included in the packaging/windows directory.
|
||||||
|
|
||||||
|
Everywhere below the mingw64- prefix is used for the cross tools. If you
|
||||||
|
really need a 32bit binary you need to use mingw32- as prefix and you may
|
||||||
|
also run into issues creating an installable binary with Qt5 (i.e., you
|
||||||
|
may have to go back to Qt4).
|
||||||
|
|
||||||
The best way to get libdivecomputer to build appears to be
|
The best way to get libdivecomputer to build appears to be
|
||||||
|
|
||||||
$ mkdir -p ~/src
|
$ mkdir -p ~/src
|
||||||
$ git clone git://git.libdivecomputer.org/libdivecomputer ~/src/libdivecomputer
|
$ cd ~/src
|
||||||
$ cd ~/src/libdivecomputer
|
$ git clone -b Subsurface-4.3 git://subsurface-divelog.org/libdc libdivecomputer
|
||||||
$ git checkout release-0.4
|
# or -b Subsurface-testing to get the testing version - careful,
|
||||||
$ mingw32-configure --disable-shared
|
# careful - this gets rebased and may be broken
|
||||||
$ mingw32-make
|
|
||||||
$ sudo mingw32-make install
|
$ cd libdivecomputer
|
||||||
|
$ autoreconf --install
|
||||||
|
$ mingw64-configure --disable-shared
|
||||||
|
$ mingw64-make
|
||||||
|
$ sudo mingw64-make install
|
||||||
|
|
||||||
To compile Marble, use:
|
To compile Marble, use:
|
||||||
|
|
||||||
$ mkdir -p ~/src/marble/build
|
$ cd ~/src
|
||||||
$ git clone -b KDE/4.11 git://anongit.kde.org/marble ~/src/marble/sources
|
$ git clone -b Subsurface-4.3 git://subsurface-divelog.org/marble marble-source
|
||||||
$ cd ~/src/marble/build
|
# or -b Subsurface-testing to get the testing version - careful,
|
||||||
$ mingw32-cmake -DCMAKE_BUILD_TYPE=Debug -DQTONLY=TRUE ../sources
|
# careful - this gets rebased and may be broken
|
||||||
- or -
|
|
||||||
$ mingw32-cmake -DCMAKE_BUILD_TYPE=Release -DQTONLY=TRUE ../sources
|
$ mkdir marble-build
|
||||||
$ mingw32-make -j4
|
$ cd marble-build
|
||||||
$ mingw32-make install
|
$ mingg64-cmake -DQTONLY=ON -DQT5BUILD=ON \
|
||||||
|
-DBUILD_MARBLE_APPS=OFF -DBUILD_MARBLE_EXAMPLES=OFF \
|
||||||
|
-DBUILD_MARBLE_TESTS=OFF -DBUILD_MARBLE_TOOLS=OFF \
|
||||||
|
-DBUILD_TESTING=OFF -DWITH_DESIGNER_PLUGIN=OFF \
|
||||||
|
-DBUILD_WITH_DBUS=OFF ../marble-source
|
||||||
|
$ mingw64-make # <- this step will take quite a while... if you have more cores
|
||||||
|
# try ming64-make -j8 or something like that
|
||||||
|
$ sudo mingw64-make install
|
||||||
|
|
||||||
|
|
||||||
To compile libgit2, use:
|
To compile libgit2, use:
|
||||||
|
|
||||||
$ mkdir -p ~/src/libgit2/build
|
$ mkdir -p ~/src/libgit2/build
|
||||||
$ git clone git://github.com/libgit2/libgit2 ~/src/libgit2
|
$ git clone git://github.com/libgit2/libgit2 ~/src/libgit2
|
||||||
$ cd ~/src/libgit2/build
|
$ cd ~/src/libgit2/build
|
||||||
$ mingw32-cmake ..
|
$ mingw64-cmake ..
|
||||||
$ mingw32-cmake --build .
|
$ mingw64-make
|
||||||
|
$ sudo mingw64-make install
|
||||||
|
|
||||||
To compile Subsurface, use:
|
To compile Subsurface, use:
|
||||||
|
|
||||||
$ mkdir -p ~/src/subsurface
|
$ cd ~/src
|
||||||
$ git clone git://subsurface-divelog.org/subsurface.git ~/src/subsurface
|
$ git clone git://subsurface-divelog.org/subsurface.git
|
||||||
$ cd ~/src/subsurface
|
$ cd subsurface
|
||||||
$ packaging/windows/mingw-make.sh
|
$ cd git checkout v4.3 # this get's you the last release
|
||||||
|
# skip this step to build the latest development
|
||||||
|
# version
|
||||||
|
$ packagin/windows/mingw-make.sh Qt5 SPECIAL_MARBLE_PREFIX=1 # on Fedora/OpenSUSE you need qmake-qt5
|
||||||
$ packaging/windows/mingw-make.sh install
|
$ packaging/windows/mingw-make.sh install
|
||||||
$ packaging/windows/mingw-make.sh installer
|
$ packaging/windows/mingw-make.sh installer
|
||||||
|
|
||||||
The last step assumes that you have a link from packaging/windows/dll to
|
The last step assumes that you have a link from packaging/windows/dll to
|
||||||
the correct directory in your MinGW installation. On my machine that is
|
the correct directory in your MinGW installation. On my machine that is
|
||||||
/usr/i686-w64-mingw32/sys-root/mingw/bin
|
/usr/i686-w64-mingw64/sys-root/mingw/bin
|
||||||
Similarly, the paths used in packaging/windows/mingw-make.sh may need to
|
Similarly, the paths used in packaging/windows/mingw-make.sh may need to
|
||||||
be adjusted according to your distributions layout
|
be adjusted according to your distributions layout
|
||||||
|
|
||||||
|
Also, at least one version of Qt DLLs shipping with Fedora was
|
||||||
|
self-inconsistent at caused random crashes at startup. Unless you have
|
||||||
|
good reasons to build your own binaries, on Windows you may be better off
|
||||||
|
with the pre-compiled binaries we provide.
|
||||||
|
|
||||||
|
|
||||||
Building Subsurface on Windows
|
Building Subsurface on Windows
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
|
This is NOT RECOMMENDED. To the best of our knowledge there is one single
|
||||||
|
person who regularly does this (and he provided these instructions). The
|
||||||
|
Subsurface team does not provide support for Windows binary build from
|
||||||
|
sources...
|
||||||
|
|
||||||
1) Install msys-git:
|
1) Install msys-git:
|
||||||
http://msysgit.github.io
|
http://msysgit.github.io
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue