- remove set BUILD_SHARED_LIBS ON
- set CMAKE_POSITION_INDEPENDENT_CODE ON if undefined
When setting BUILD_SHARED_LIBS if user set it to off linking would fail.
Adding the suggetion from pull request review, which seems to work in
both cases
colcon build --cmake-args "-DBUILD_SHARED_LIBS=ON"
colcon build --cmake-args "-DBUILD_SHARED_LIBS=OFF"
Signed-off-by: Alex Moriarty <alex.moriarty@picknik.ai>
Adding a so-version means defining an ABI level. This level is decoupled
from the ordinary version, even a major version change doesn't
necessarily mean that the so-version should change (and thus have all
dependencies to be rebuilt).
Adding the public header to clarify the setup.
Note: cherry-pick from PR #231
Conflicts:
CMakeLists.txt
Author: Alec Leamas <leamas.alec@gmail.com>
Date: Tue Sep 22 13:28:04 2020 +0200
Gbp-Pq: Name 0002-cmake-Add-defined-so-version-and-public-header-to-li.patch
Signed-off-by: Alex Moriarty <alex.moriarty@picknik.ai>
Cmake made major changes in the 2.x -> 3.0 switch, keeping the 2.x
compatiblity just isn't worth it. Since serial anyway doesn't build on
versions before xenial, use xenial's cmake at 3.5 as baseline.
Cherry-pick from PR #231
Conflicts:
CMakeLists.txt
Author: Alec Leamas <leamas.alec@gmail.com>
Date: Tue Sep 22 13:08:46 2020 +0200
Gbp-Pq: Name 0001-cmake-Use-cmake-3.5-add-project-setup.patch
Signed-off-by: Alex Moriarty <alex.moriarty@picknik.ai>
This couldn't be cherry-picked because but essentially the same change
from the ros2 branch here:
d8d160678a
Fixes this error:
```
/usr/bin/ld: /home/alex/ros/h/robotiq/install/serial/lib/libserial.a(serial.cc.o): relocation R_X86_64_PC32 against symbol `_ZTVN6serial6SerialE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
```
Signed-off-by: Alex Moriarty <alex.moriarty@picknik.ai>
The check in `_prefix_port_if_needed` does not work, as it's currently comparing the whole input string to the prefix. As a consequence, port strings will be prefixed, even if they're already prefixed. This commit changes the call to `wstring::compare` to use an overload that compares a substring of the input string only.
* reduce the number of jobs on travis
* update usage of pip due to changes in Homebrew
* update pip and ensure the right one is being used with an alias
* force reinstall pip to get `pip` on PATH
* use python2 explicitly to run catkin_make
* force use of python2 executable by catkin packages
* python!
* simpler
* how to which
* Update .travis.yml
* make tests and run_tests
* test results
* disable timer tests on macOS
RTS_CONTROL_HANDSHAKE raises RTS when there is space in the input
buffer; RTS_CONTROL_TOGGLE only raises RTS when bytes are available for
transmission.
Also replace numeric constants with symbolic constants.
On Linux systems which are being driven by an external time source (NTP or PTP), it is possible that time appears to slew in reverse under `CLOCK_REALTIME`. Since the timer function is used to time durations of events (calls to `select()`), it is better to use `CLOCK_MONOTONIC`, which isn't subject to slewing.