1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-19 04:52:12 +01:00

Merged in filnet/librepilot/LP-208_windows_packaging (pull request #215)

Lp 208_windows_packaging
This commit is contained in:
Lalanne Laurent 2016-04-04 21:36:53 +02:00
commit d3f150f5a8
5 changed files with 64 additions and 32 deletions

View File

@ -1,52 +1,76 @@
# How to build from source?
Both development environment and GCS are supported on Windows, Linux and Mac OS X
Both development environment and GCS are supported on Windows, Linux and Mac OS X.
## Install prerequisites
# Install prerequisites
The first step is to Install all OS specific prerequisites.
### Mac OS X
## Mac OS X
Install XCode and its relatated command line tools (follow Apple documentation). Install git, curl and p7zip.
You can use brew with `brew install git curl p7zip` or macport with `sudo port install git curl p7zip`.
### Ubuntu
## Ubuntu
sudo apt-get install git build-essential curl gdb wget debhelper p7zip-full unzip flex bison libsdl1.2-dev libudev-dev libusb-1.0-0-dev libc6-i386 mesa-common-dev
### Windows
## Windows
Install [Msys2](https://msys2.github.io/) following the instructions on the web site. You can either install the i686 (32 bit) or x86_64 (64 bit) version.
### Install [Msys2](https://msys2.github.io/)
Start a *MinGW-w64 Win32 Shell* or *MinGW-w64 Win64 Shell* (but **not** a *MSYS2 Shell*).
Follow the instructions on the web site. You can either install the i686 (Win32) or x86_64 (Win64) version.
It is recommended to go for the Win64 Shell if possible.
The x86_64 version has both Win32 and Win64 shells and it is possible to build both i686 and x86_64 applications.
Install the dependent packages that match your MinGW shell.
### Add the LibrePilot MinGW package repository
For 32 bit:
Add the following lines at the end of your /etc/pacman.conf file:
pacman -S --needed git unzip tar mingw-w64-i686-toolchain mingw-w64-i686-qt5 mingw-w64-i686-SDL mingw-w64-i686-mesa mingw-w64-i686-openssl mingw-w64-i686-OpenSceneGraph mingw-w64-i686-osgearth
[librepilot-mingw]
SigLevel = Optional TrustAll
Server = http://download.librepilot.org/repo/mingw
For 64 bit:
### Install required packages
pacman -S --needed git unzip tar mingw-w64-x86_64-toolchain mingw-w64-x86_64-qt5 mingw-w64-x86_64-SDL mingw-w64-x86_64-mesa mingw-w64-x86_64-openssl mingw-w64-x86_64-OpenSceneGraph mingw-w64-x86_64-osgearth
#### For i686 applications
Start a MinGW-w64 Win64 Shell or a MinGW-w64 Win32 Shell.
pacman -Sy
pacman -S --needed git unzip tar mingw-w64-i686-toolchain mingw-w64-i686-ccache mingw-w64-i686-qt5 mingw-w64-i686-SDL mingw-w64-i686-mesa mingw-w64-i686-openssl mingw-w64-i686-gdal-minimal mingw-w64-i686-OpenSceneGraph mingw-w64-i686-osgearth
Optionally install debug packages:
pacman -S --needed mingw-w64-i686-OpenSceneGraph-debug mingw-w64-i686-osgearth-debug
#### For x86_64 applications
Start a MinGW-w64 Win64 Shell.
pacman -Sy
pacman -S --needed git unzip tar mingw-w64-x86_64-toolchain mingw-w64-x86_64-ccache mingw-w64-x86_64-qt5 mingw-w64-x86_64-SDL mingw-w64-x86_64-mesa mingw-w64-x86_64-openssl mingw-w64-x86_64-gdal-minimal mingw-w64-x86_64-OpenSceneGraph mingw-w64-x86_64-osgearth
Optionally install debug packages:
pacman -S --needed mingw-w64-x86_64-OpenSceneGraph-debug mingw-w64-x86_64-osgearth-debug
**NOTE** On Windows you need to run the mingw version of make, which is `mingw32-make`
## Setup the build environment and build
# Setup the build environment and build
The `all_sdk_install` target will automatically retrieve and install all needed tools (qt, arm gcc, etc.) in a local folder `/path/to/LibrePilot_root/tools`
### Ubuntu / Mac OS X
## Ubuntu / Mac OS X
make all_sdk_install
make package
### Windows
## Windows
mingw32-make all_sdk_install
mingw32-make package

View File

@ -150,6 +150,9 @@ GCS_BUILD_CONF := release
# Set extra configuration
GCS_EXTRA_CONF += osg copy_osg
ifeq ($(UNAME), Windows)
GCS_EXTRA_CONF += osgearth
endif
##############################
#

View File

@ -93,12 +93,14 @@ win32 {
libicuuc56.dll \
libstdc++-6.dll \
libwinpthread-1.dll \
libpcre-1.dll \
libpcre16-0.dll \
zlib1.dll \
libharfbuzz-0.dll \
libfreetype-6.dll \
libbz2-1.dll \
libpng16-16.dll \
libjpeg-8.dll \
libglib-2.0-0.dll \
libintl-8.dll \
libiconv-2.dll
@ -129,7 +131,6 @@ win32 {
imageformats/qgif$${DS}.dll \
imageformats/qico$${DS}.dll \
imageformats/qjpeg$${DS}.dll \
imageformats/qmng$${DS}.dll \
imageformats/qsvg$${DS}.dll \
imageformats/qtiff$${DS}.dll \
platforms/qwindows$${DS}.dll \

View File

@ -11,7 +11,7 @@ contains(QT_ARCH, x86_64) {
}
# set debug suffix if needed
#win32:CONFIG(debug, debug|release):DS = "d"
win32:CONFIG(debug, debug|release):DS = "d"
osg:linux {
# copy osg libraries
@ -62,7 +62,7 @@ osg:win32 {
# other
OSG_LIBS += \
libproj-9.dll \
libjpeg-8.dll \
libfreetype-6.dll \
libpng16-16.dll \
libiconv-2.dll \
@ -97,8 +97,17 @@ osg:win32 {
# osg plugins
OSG_PLUGINS = \
mingw_osgdb_3dc$${DS}.dll \
mingw_osgdb_3ds$${DS}.dll \
mingw_osgdb_freetype$${DS}.dll \
mingw_osgdb_jpeg$${DS}.dll \
mingw_osgdb_osg$${DS}.dll \
mingw_osgdb_png$${DS}.dll \
mingw_osgdb_tiff$${DS}.dll \
mingw_osgdb_zip$${DS}.dll \
mingw_osgdb_serializers_osg$${DS}.dll
osg_extra:OSG_PLUGINS = \
mingw_osgdb_3dc$${DS}.dll \
mingw_osgdb_ac$${DS}.dll \
mingw_osgdb_bmp$${DS}.dll \
mingw_osgdb_bsp$${DS}.dll \
@ -114,7 +123,6 @@ osg:win32 {
mingw_osgdb_gz$${DS}.dll \
mingw_osgdb_hdr$${DS}.dll \
mingw_osgdb_ive$${DS}.dll \
mingw_osgdb_jpeg$${DS}.dll \
mingw_osgdb_ktx$${DS}.dll \
mingw_osgdb_logo$${DS}.dll \
mingw_osgdb_lwo$${DS}.dll \
@ -126,7 +134,6 @@ osg:win32 {
mingw_osgdb_ogr$${DS}.dll \
mingw_osgdb_openflight$${DS}.dll \
mingw_osgdb_osc$${DS}.dll \
mingw_osgdb_osg$${DS}.dll \
mingw_osgdb_osga$${DS}.dll \
mingw_osgdb_osgshadow$${DS}.dll \
mingw_osgdb_osgterrain$${DS}.dll \
@ -135,7 +142,6 @@ osg:win32 {
mingw_osgdb_p3d$${DS}.dll \
mingw_osgdb_pic$${DS}.dll \
mingw_osgdb_ply$${DS}.dll \
mingw_osgdb_png$${DS}.dll \
mingw_osgdb_pnm$${DS}.dll \
mingw_osgdb_pov$${DS}.dll \
mingw_osgdb_pvr$${DS}.dll \
@ -147,15 +153,12 @@ osg:win32 {
mingw_osgdb_stl$${DS}.dll \
mingw_osgdb_tga$${DS}.dll \
mingw_osgdb_tgz$${DS}.dll \
mingw_osgdb_tiff$${DS}.dll \
mingw_osgdb_trans$${DS}.dll \
mingw_osgdb_trk$${DS}.dll \
mingw_osgdb_txf$${DS}.dll \
mingw_osgdb_txp$${DS}.dll \
mingw_osgdb_vtf$${DS}.dll \
mingw_osgdb_x$${DS}.dll \
mingw_osgdb_zip$${DS}.dll \
mingw_osgdb_serializers_osg$${DS}.dll \
mingw_osgdb_serializers_osganimation$${DS}.dll \
mingw_osgdb_serializers_osgfx$${DS}.dll \
mingw_osgdb_serializers_osgga$${DS}.dll \
@ -187,7 +190,6 @@ osgearth:win32 {
libgdal-20.dll \
libgeos_c.dll \
libgeos.dll \
libjpeg-8.dll \
libopenjp2-7.dll \
libtiff-5.dll \
liblzma-5.dll
@ -202,16 +204,20 @@ osgearth:win32 {
# osgearth plugins
OSGEARTH_PLUGINS += \
mingw_osgdb_earth$${DS}.dll \
mingw_osgdb_osgearth_arcgis$${DS}.dll \
mingw_osgdb_osgearth_engine_mp$${DS}.dll \
mingw_osgdb_osgearth_sky_simple$${DS}.dll \
mingw_osgdb_osgearth_tms$${DS}.dll \
mingw_osgdb_osgearth_cache_filesystem$${DS}.dll
osgearth_extra:OSGEARTH_PLUGINS += \
mingw_osgdb_kml$${DS}.dll \
mingw_osgdb_osgearth_agglite$${DS}.dll \
mingw_osgdb_osgearth_arcgis$${DS}.dll \
mingw_osgdb_osgearth_arcgis_map_cache$${DS}.dll \
mingw_osgdb_osgearth_bing$${DS}.dll \
mingw_osgdb_osgearth_cache_filesystem$${DS}.dll \
mingw_osgdb_osgearth_colorramp$${DS}.dll \
mingw_osgdb_osgearth_debug$${DS}.dll \
mingw_osgdb_osgearth_engine_byo$${DS}.dll \
mingw_osgdb_osgearth_engine_mp$${DS}.dll \
mingw_osgdb_osgearth_feature_ogr$${DS}.dll \
mingw_osgdb_osgearth_feature_tfs$${DS}.dll \
mingw_osgdb_osgearth_feature_wfs$${DS}.dll \
@ -227,13 +233,11 @@ osgearth:win32 {
mingw_osgdb_osgearth_refresh$${DS}.dll \
mingw_osgdb_osgearth_scriptengine_javascript$${DS}.dll \
mingw_osgdb_osgearth_sky_gl$${DS}.dll \
mingw_osgdb_osgearth_sky_simple$${DS}.dll \
mingw_osgdb_osgearth_splat_mask$${DS}.dll \
mingw_osgdb_osgearth_template_matclass$${DS}.dll \
mingw_osgdb_osgearth_tilecache$${DS}.dll \
mingw_osgdb_osgearth_tileindex$${DS}.dll \
mingw_osgdb_osgearth_tileservice$${DS}.dll \
mingw_osgdb_osgearth_tms$${DS}.dll \
mingw_osgdb_osgearth_vdatum_egm2008$${DS}.dll \
mingw_osgdb_osgearth_vdatum_egm84$${DS}.dll \
mingw_osgdb_osgearth_vdatum_egm96$${DS}.dll \

View File

@ -2,7 +2,7 @@
QMAKE_CXXFLAGS += -Wno-unused-parameter
# set debug suffix if needed
#win32:CONFIG(debug, debug|release):DS = "d"
win32:CONFIG(debug, debug|release):DS = "d"
contains(QT_ARCH, x86_64) {
macx {