-
Notifications
You must be signed in to change notification settings - Fork 127
/
INSTALL
108 lines (88 loc) · 4.82 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
The only build system generator supported is cmake. The autotools based build
system (configure) and the qmake based build system are no longer supported
and have been removed.
The Ninja generator is recommended and tested in continuous integration.
The Visual Studio 16 2019, Visual Studio 17 2022 and Xcode generators are
also tested in continuous integration.
An example to build the command line client gpsbabel and the graphical
user interface gpsbabelfe from the top level directory is:
mkdir bld;
cd bld;
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/path/to/Qt -G Ninja ..
cmake --build .
The following cache variables can be used to control the build:
GPSBABEL_WITH_LIBUSB:STRING=no|pkgconfig|system*|included*|custom
note that libusb is NOT used on windows.
no: build without libusb-1.0. functionality will be limited.
pkgconfig: build with libusb-1.0 found by pkg-config.
system: build with libusb-1.0 found on system library path and under
libusb-1.0 on system include path (default, linux, openbsd).
included: build with libusb-1.0 included with gpsbabel (default, macOS only).
custom: build with user supplied libusb-1.0. LIBS and INCLUDEPATH may need to
be set with GPSBABEL_EXTRA_LINK_LIBRARIES and
GPSBABEL_EXTRA_INCLUDE_DIRECTORIES.
GPSBABEL_WITH_SHAPELIB:STRING=no|pkgconfig|included*|custom
no: build without shapelib. functionality will be limited.
pkgconfig: build with shapelib found by pkg-config.
included: build with shapelib included with gpsbabel (default).
custom: build with user supplied shapelib. LIBS and INCLUDEPATH may need to
be set with GPSBABEL_EXTRA_LINK_LIBRARIES and
GPSBABEL_EXTRA_INCLUDE_DIRECTORIES.
GPSBABEL_WITH_ZLIB:STRING=no|pkgconfig|included*|custom
no: build without zlib. functionality will be limited.
pkgconfig: build with zlib found by pkg-config.
included: build with zlib included with gpsbabel (default).
custom: build with user supplied zlib. LIBS and INCLUDEPATH may need to be
set with GPSBABEL_EXTRA_LINK_LIBRARIES and
GPSBABEL_EXTRA_INCLUDE_DIRECTORIES.
GPSBABEL_MAPPREVIEW=ON*|OFF
This options enables the map preview feature. With the feature disabled
QtWebEngine and QtWebEngineWdigets are not used. Note that QtWebKit and
QtWebKitWidgets are not longer supported.
GPSBABEL_EMBED_MAP:BOOL=ON|OFF
Embed gmapbase.html for map preview. When using this option gmapbase.html
will be compiled into the executable and does not need to be distributed.
GPSBABEL_EMBED_TRANSLATIONS:BOOL:ON|OFF
Embed translations. When using this option the gpsbabel provided
translations will be compiled into the executable and do not need to be
distributed. The Qt provided translations still need to be distributed.
GPSBABEL_ENABLE_PCH:BOOL
Enable precompiled headers when building the target gpsbabel.
GPSBABEL_EXTRA_COMPILE_OPTIONS:STRING
Extra compile options when building the target gpsbabel.
GPSBABEL_EXTRA_INCLUDE_DIRECTORIES:STRING
Extra directories to include when building the target gpsbabel.
GPSBABEL_EXTRA_LINK_LIBRARIES:STRING
Extra libraries to link when building the target gpsbabel.
GPSBABEL_EXTRA_LINK_OPTIONS:STRING
Extra link options when building the target gpsbabel.
GPSBABEL_DOCVERSION:STRING=...
string appended to documentation location for www.gpsbabel.org. The default
value is the version string, e.g. "1.7.0". This is used by the gpsbabel.org
target, you are unlikely to need it unless you are maintaining
www.gpsbabel.org.
GPSBABEL_WEB:STRING=DIR
Path where the documentation will be stored for www.gpsbabel.org. This is
used by the gpsbabel.org target, you are unlikely to need it unless you are
maintaining www.gpsbabel.org. The default location is "gpsbabel.org".
Targets:
check: Run the basic test suite.
check-vtesto: Run valgrind memcheck.
gpsbabel: Build the command line tool.
gpsbabel.hmtl: Create the html documentation.
gpsbabel.org: Create documentation for use on www.gpsbabel.org.
gpsbabel.pdf: Create the pdf documentation.
gpsbabelfe: Build the graphical user interface.
package_app: Collect the components for distribution.
On Linux the gpsbabel generated components will be under
gui/GPSBabelFE, any dynamically linked required libraries are not included.
On macOS an app bundle will be created at gui/GPSBabelFE.app and an apple disk
image will be created at gui/GPSBabelFE.dmg.
On windows an image will be created in the directory gui/package, and an
installer will be created gui/Setup-x.y.z-Setup.exe.
Dependencies:
On non-macOS unix builds by default we now compile in the gpsbabel generated
translation files, i.e. gpsbabelfe_*.qm, gpsbabel_*.qm, as well as
gmapbase.html. When compiled in these files do not need to be distributed.
These are used by the GUI. Additional translation files from Qt will also be
used if they are found. They may be in a package such as qt6-translations-l10n.