Previous script would fail on git folders that pull from more than one
repo. That's not a general case, but pretty usual for developers
pulling/pushing to github.
BTW in this cases, a lind git pull doesn't ensure we are pulling from
the right repo.
When run without flag, default to pull --rebase.
At the same time introduce a tiny func to return a message and bail out
after some command failures.
Needed to crossbuild to windows.
The cmake modules are just clones from those under
subsurface/cmake/Modules, tweaked to build smtk-import for windows.
Give a hint how to enable build of debug Qt5 DLLs when building MXE.
Take care about the "d"/"xxxd.dll" suffix for DLLs.
Copy libastro.dll from marble to correct loation as well (nevertheless we don't use it)
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
Qt plugins and some other dependencies cannot be copied
by CMake install targets. They need to be manually deployed
to staging_tests directory too.
Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
Updates mainly in the comments of the MXE build script:
- File system layout: different proposal
- Hint to not use MXE current version from git
- MXE build JOBS setting to (very) safe value of 1
- export CXXFLAGS=-std=c++11 added for marble build
Run all scripts with -e so they exit as soon as something breaks. That
way the build stops at the first error, not some other error.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The MXE script still tried to run things using the qmake project
file and we removed that ages ago.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Also fixes a capitalization error that prevented finding libssh2 in some
circumstances. And adds a missing include when building with libzip on Mac.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add a new dialog/page which is shown right before
the final "uninstall" click.
The dialog may contains two checkboxes - for registry
entries and for the user path. These checkboxes will not be
created if the user has not run the application yet,
as no registry keys will be available.
Selecting the user directory checkbox shows a warning message box,
that the user should make sure no important files are present there.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Since we ship it all in one piece there is no reason to use a static
libdivecomputer (like there is on Linux). This allows us to give the user
a different libdivecomputer.dll for testing when tracking down a bug.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This seems to fix our issues with being able to create zip files on the
fly (needed for the divelogs.de access).
Fixes#955
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
While this should be fixed in cmake, for now just manuallt get
libssrfmarblewidget.dll and QtXml.dll in place
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Instructions how to use it are in the script.
As of today this doesn't create working binaries - this worked perfectly
fine back when MXE was still based on Qt5.4
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The MinGW based script is still there for reference, but that's no
longer how I build the Windows binaries.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Update the documentation with dependencies for cross-building on Linux
to Windows for OpenSuse platform and correct some building instructions.
Moreover fix the windows building script to use the architectural specific
binary.
Signed-off-by: Claudiu Olteanu <olteanu.claudiu@ymail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
We now have perfectly fine 32bit binaries with Qt5 so no more reason to
steer people towards 64bit binaries. Actually, I don't plan to make 64bit
binaries for the next release.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This script is based on the mxe package and builds everything from source
instead of using the mingw packages from Fedora as I did in the past.
I'm keeping the old script around for now, but eventually I should remove it as
this is the current way to create a working installer that supports both 32 and
64 bit Windows and is Qt5 based.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
It makes more sense to do this on init and not have the user go through
any other screens in case this is the wrong binary.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Checking this in to make sure I don't end up creating broken installers
again. I doubt that this is useful for anyone but me - but then, I don't
think anyone but me creates Windows installers.
Background - when Fedora 20 updated the cross-built version of Qt for
Win64 something broke. Subsurfae installed with those DLLs will crash.
Replacing the older 5.3.1 DLLs fixes this for now, so I have a directory
with just those DLLs and simply replace them in the staging directory
before calling makensis.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
With these changes we link statically against libusb and libdivecomputer
but don't add the .a files to our installers.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This also makes sure that we package the Qt5 translations, not the Qt4
translations.
There was an odd issue that somehow a 32bit search path ended up being
used by win-dll which resulted in the wrong DLLs being packaged.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
I assume the theme directory should be deleted on uninstall the same way
e.g. Documentation directory is deleted.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
I was confused by the function name getSubsurfaceDataPath() - it does not
find paths relative to the "data" folder, if finds the path where we might
install folders like "data", "translations", or "theme".
"data" is for some reason where we install the "marbledata" files.
Therefore on both Mac and Windows we need to put the "theme" directory
next to the "data" directory, not below it.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Admittedly I believe I'm the only one using this script (and related .nsi
file), it still seems to make sense to keep it up to date in the
repository.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
When doing an out of tree build you don't want to stage the package with
the source but under your current directory. So let's make sure we
distinguish between source and target here... and instead of putting
things into packaging/windows they now end up in staging which is much
more consistent. And to make my life even easier, the installer .exe ends
up in the base dir in which you build the package.
Also, we link statically against libdivecomputer, so don't pack the dll.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This is all mostly to make my life easier.
I'm not thrilled with the marble changes - as Linus pointed out before the
way we do these "LIBxxxDEVEL" changes is broken as it will still first
link against any library installed in the system. But since I have removed
any globally installed copies of these libraries this actually works for
me and it does help when experimenting with different build options for
the main libraries that we depend on.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This way I can have a different directory from where I build Windows
binary without interfering with my native build in the source directory.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This means we no longer need to keep them on disk and worry about
installing / uninstalling them. They will always be kept in-memory
(compressed).
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
We appear to be missing the correct dll. I'm out of time trying to track
this down, so I just switched Subsurface to access divelogs.de via http on
Windwos.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
They are loaded into a Qt resource and always accessed via it.
[Dirk Hohndel: had to hand edit / apply the changes to the .pri file]
Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Install the Documentation and include it in the installer.
Try and get all the directories and files removed in the uninstaller.
Where the heck does 'oldshare' come from?
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The executable shortcuts were lacking icons. This should
do the trick, by using the packaged subsurface.ico.
Perhaps it would be better if we hardcode the icon into
the executable as a resource.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>