We chose a centralised approach, since threads are needed in several
modules: the find_package() is done only once in the rood directory.
Not sure it's the best approach though, but this test is several lines
long so doing that avoids duplication of this code.
- Default compiler and linker flags were added silently. They are now
set in the cache if no previous values are present.
- Debug flags and regular flags have been merged.
- Position-independent code (doesn't appear in the cache because CMake
lacks variables like CMAKE_EXE_COMPILE_FLAGS):
- Shared libraries are compiled with -fPIC.
- Executables and static libraries are compiled with -fPIE.
- Executables are linked with -pie -fPIE.
libowlps-client and libowlps-resultreader were never built as shared
libraries, therefore we set their version number to 1.0.
For stable releases, the rule is to increase the minor version number
when changes are made to the library without changing the API, and to
bump the major version number (soname) in case of API change.
In the development branch and for development point releases, the soname
should not be increased, even in case of API break. The minor version
number should be bumped instead.
Following this rule, libowlps' version number is bumped to 3.1, as some
changes were made since version 3.0.
Add extra targets for the Positioner:
- indent_positioner calls astyle (old make target: "style")
- check_positioner calls cppcheck (old make target: "check")
Change the positioning.generate-reference-points option to offer
multiple choices (false, mesh, list, both) and add the
positioning.generated-points-list to allow the user to specify a list of
reference points to generate.
CSVStringReader::read_point3D() now allow the first of the three fields
forming a Point3D (that is, X) to start with an opening parenthesis, and
the last (Z) to end with a closing parenthesis. That allows an improved
clarity for strings containing several points, e.g. "(1;2;3);(4;5;6)".
Display a warning if the radiotap antenna signal is absent and the
signal strength could not be extracted. Change the SS value to 127 dBm
(the maximum and improbable value) in this case.
From the radiotap header, we only use the antenna signal field,
therefore we don't need to handle the fields that are after it. We do
need to take into account the fields preceding the antenna signal field
though, in order to know where it is.
The Listener is built only on Linux, the Positioner is not built on
OpenBSD. Some other changes might be required.
In common.mk, the OS is forced to Linux if we build for OpenWrt, which
should allow to cross-compile from BSD systems.