From 76347d8eb589b7f8d8754e4acebb973266e7b068 Mon Sep 17 00:00:00 2001 From: Stefan Pfeifer Date: Sun, 18 Mar 2018 01:06:11 +0100 Subject: [PATCH 1/3] Update AppImage build --- README.md | 7 +++++++ platforms/linux/CMakeLists.txt | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 97dbbae2..fd2fc1bb 100755 --- a/README.md +++ b/README.md @@ -20,6 +20,9 @@ This is however not strictly necessary, you can just as well run CMake yourself. The first build may take an hour or longer, depending on your hardware. This is because some necessary external dependencies will be downloaded and compiled first (see `CMakeLists.txt` for details). +The instructions mention exact version numbers for all the tools and libraries used. +This is more of a reference than a strict requirement in most cases. + ## Windows ### Prerequisites @@ -86,3 +89,7 @@ Ensure that it is found as `linuxdeployqt` by the command line, for example by d Also make sure that the `qmake` executable is found and points to the correct Qt installation (e.g. `/home/Qt/5.10.1/gcc_64/bin/qmake`). In Qt Creator, check the target `appimage` under *Projects*, *Build Steps*, *Details* and perform a build. + +Linuxdeployqt might [for some reason](https://github.com/probonopd/linuxdeployqt/issues/235) give you an error about *libmysqlclient.so.18* not being found. +This library belongs to the `libmysqlclient18` package, which is no longer available in the repositories for newer versions of Ubuntu. +It can however still be downloaded from [launchpad](https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1). diff --git a/platforms/linux/CMakeLists.txt b/platforms/linux/CMakeLists.txt index 304d6783..7ad17f64 100644 --- a/platforms/linux/CMakeLists.txt +++ b/platforms/linux/CMakeLists.txt @@ -39,6 +39,6 @@ add_custom_command( OUTPUT Bow_Simulator-x86_64.AppImage DEPENDS linux-files COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/linux-files ${CMAKE_BINARY_DIR}/appimage - COMMAND linuxdeployqt ${CMAKE_BINARY_DIR}/appimage/usr/share/applications/bow-simulator.desktop -appimage -no-plugins -no-translations + COMMAND linuxdeployqt ${CMAKE_BINARY_DIR}/appimage/usr/share/applications/bow-simulator.desktop -appimage -bundle-non-qt-libs -no-translations WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) From 9c92f5f8c7615bb0700cc0150d680e5829129f88 Mon Sep 17 00:00:00 2001 From: Stefan Pfeifer Date: Sun, 18 Mar 2018 11:13:39 -0400 Subject: [PATCH 2/3] Add missing dependency to deb package --- CMakeLists.txt | 2 +- platforms/linux/control.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93c09a3f..9f5e1888 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ set(APPLICATION_MAINTAINER "Stefan Pfeifer") set(APPLICATION_COPYRIGHT "Copyright (C) 2016-2018 Stefan Pfeifer") set(APPLICATION_LICENSE "GNU General Public License v3.0") set(APPLICATION_DESCRIPTION_SHORT "Bow and arrow physics simulation") -set(APPLICATION_DESCRIPTION_LONG "Software tool for simulating the static and dynamic performance of user-defined bow designs") +set(APPLICATION_DESCRIPTION_LONG "Software tool for simulating the static and dynamic performance of bow designs") # External libraries diff --git a/platforms/linux/control.in b/platforms/linux/control.in index c5769230..e0ff8568 100644 --- a/platforms/linux/control.in +++ b/platforms/linux/control.in @@ -5,4 +5,4 @@ Maintainer: @APPLICATION_MAINTAINER@ Homepage: @APPLICATION_WEBSITE@ Description: @APPLICATION_DESCRIPTION_SHORT@ @APPLICATION_DESCRIPTION_LONG@ -Depends: qt5-default +Depends: qt5-default, libqt5x11extras5 From 8a63554e0e0a076428aed90254feedc72bdf1a94 Mon Sep 17 00:00:00 2001 From: Stefan Pfeifer Date: Sun, 18 Mar 2018 17:09:38 +0100 Subject: [PATCH 3/3] Update build instructions --- README.md | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index fd2fc1bb..bfd2a36d 100755 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The first build may take an hour or longer, depending on your hardware. This is because some necessary external dependencies will be downloaded and compiled first (see `CMakeLists.txt` for details). The instructions mention exact version numbers for all the tools and libraries used. -This is more of a reference than a strict requirement in most cases. +These aren't strict requirements, just a reference for how the official releases were built. ## Windows @@ -31,18 +31,18 @@ This is more of a reference than a strict requirement in most cases. * [CMake 3.10.2](https://cmake.org/download/). Check the installer option to add CMake to the system path. -* [Qt 5.10.1 (Open Source)](https://www.qt.io/download). The necessary components depend on the target architecture: - * Qt 5.10.1 32-bit (MSVC 2015) - * Qt 5.10.1 64-bit (MSVC 2015) +* [Qt (Open Source)](https://www.qt.io/download). The necessary components depend on the target architecture: + * Qt 5.7.1 32-bit (MSVC 2015) + * Qt 5.7.1 64-bit (MSVC 2015) ### Compiling with Qt Creator Download or clone this repository and open `CMakeLists.txt` with Qt Creator. -Pick the kit *Desktop Qt 5.10.1 MSVC2015 32bit* or *64bit* and configure the project. +Pick the kit *Desktop Qt 5.7.1 MSVC2015 32bit* or *64bit* and configure the project. Select the build type (e.g. *Release*) and perform a build. -If Qt Creator didn't auto-detect the C++ compiler or CMake, go to *Projects*, *Manage Kits...* and set them manually (*Microsoft Visual C++ Compiler 15.0 x86* for the 32bit Kit, *amd64* for the 64bit one). +If Qt Creator didn't auto-detect the C and C++ compiler or CMake, go to *Projects*, *Manage Kits...* and set them manually (*Microsoft Visual C++ Compiler 15.0 x86* for the 32bit Kit, *amd64* for the 64bit one). Using the default CMake generator (*NMake Makefiles JOM*) might give you an error like this: "The C compiler ... is not able to compile a simple test program". This can be solved by adding the directory `Qt/Tools/QtCreator/bin` of the Qt installation to the system path. @@ -57,23 +57,17 @@ Building the Windows installer requires some additional tools, In Qt Creator, check the target `iss-installer` under *Projects*, *Build Steps*, *Details* and perform a build. -## Linux +## Linux (Debian 9.4.0) ### Prerequisites -* GCC C and C++ Compilers. On Ubuntu they're in the `build-essentials` package. - -* CMake. Package `cmake` on Ubuntu. - -* [Qt 5.10.1 (Open Source)](https://www.qt.io/download). Install the following components: - * Qt 5.10.1 Desktop gcc 64-bit - -* Additional graphics libraries. On Ubuntu those are `mesa-common-dev`, `libglu1-mesa-dev` and `libxt-dev`. +* Tools: `qtcreator`, `cmake` +* Libraries: `qtbase5-dev`, `libqt5x11extras5-dev` ### Compiling with Qt Creator Download or clone this repository and open `CMakeLists.txt` with Qt Creator. -Pick the kit *Desktop Qt 5.10.1 GCC 64bit* and configure the project. +Pick the kit *Desktop* and configure the project. Select the build type (e.g. *Release*) and perform a build. @@ -86,10 +80,5 @@ Building the debian package requires `dpkg` to be installed. In Qt Creator, chec Building the AppImage requires [linuxdeployqt](https://github.com/probonopd/linuxdeployqt/releases), which is itself an AppImage. Download it from github and make it make it executable via `chmod a+x ...`. Ensure that it is found as `linuxdeployqt` by the command line, for example by dropping or linking it in your `/usr/local/bin/` folder. -Also make sure that the `qmake` executable is found and points to the correct Qt installation (e.g. `/home/Qt/5.10.1/gcc_64/bin/qmake`). In Qt Creator, check the target `appimage` under *Projects*, *Build Steps*, *Details* and perform a build. - -Linuxdeployqt might [for some reason](https://github.com/probonopd/linuxdeployqt/issues/235) give you an error about *libmysqlclient.so.18* not being found. -This library belongs to the `libmysqlclient18` package, which is no longer available in the repositories for newer versions of Ubuntu. -It can however still be downloaded from [launchpad](https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1).