1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-02 19:29:15 +01:00

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

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

@ -1,52 +1,76 @@
# How to build from source? # 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. 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. 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`. 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 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` **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` 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 all_sdk_install
make package make package
### Windows ## Windows
mingw32-make all_sdk_install mingw32-make all_sdk_install
mingw32-make package mingw32-make package

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

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

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

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