Remove libGalil and libZaber and add exts/CMakeLists.txt
What
This MR aims to remove copied external library code from the src/
directory of labRemote, as well
as update the CMake configuration of the external libraries appearing under src/exts
.
CMake configuration of external libraries
This MR moves the majority of the CMake configuration of the libraries appearing under src/exts
to
a src/exts/CMakeLists.txt
. Prior to this MR, there is no CMakeLists.txt
file appearing under
src/exts
but rather the configuration of all libraries appearing under src/exts
occurs in src/CMakeLists.txt.
In the newly created src/exts/CMakeLists.txt
, there is also a check that the submodule directories
appearing under exts/
are non-empty so that issues related to users not having recursively cloned the labRemote
repository will appear earlier and more clearly.
libGalil
This MR removes libGalil
from being a labRemote library, under labRemote/src
. This is because the Galil libraries were 100% copied from the Galil source files and are thereby not maintainable by labRemote.
Instead, the Galil motion control libraries should be installed like any other external package using yum
:
yum install gclib gcapsd
See the official Galil documentation page for more details.
The labRemote build will then rely on Findlibgclib.cmake to find the gclib
shared library.
libZaber
The Zaber library is also another library that is 100% copied from an external library and therefore not maintainable by labRemote.
This MR therefore adds a new submodule under src/exts/zaber
with the source files for the Zaber core-c library which we had simply copied and pasted into src/libZaber
previously.
As before, a shared library Zaber
is created during the compilation of labRemote. The Zaber
library is specified
under the newly created src/exts/CMakeLists.txt
file.
The Future
The Zaber libraries we are/were relying on are outdated. As mentioned in their repository, those using C++ should move to the new Zaber Motion Library, which has both C++ and Python bindings.
Merge request reports
Activity
- Resolved by Karol Krizka
added 1 commit
- a9d20db7 - remove libZaber dir and put exts/CMakeLists.txt
- Resolved by Karol Krizka
- Resolved by Karol Krizka
- Resolved by Daniel Joseph Antrim
Could you update the README link to the installation manual you found?
- Resolved by Karol Krizka
assigned to @dantrim
mentioned in merge request !226
- Resolved by Daniel Joseph Antrim
Hi @dantrim I have a minor comment on how to handle gclib. Could we keep the code in
exts
even though there is a standard installation routine? The reason is that not every user has the privilege to install packages. Having labRemote self-sufficient could save a lot of trouble in such a case.Best regards,
Hongtao
Edited by Hongtao Yang
added 47 commits
-
38abfcf9...2047f4b0 - 42 commits from branch
devel
- b3a5aefb - remove libGalil and make Zaber an external submodule
- 63bb9507 - remove libZaber dir and put exts/CMakeLists.txt
- d0b00c81 - fix variable in exts/CMakeLists.txt
- bbd6d425 - extern
- 6ec116d9 - Merge branch 'dantrim_remove_motion_control' of...
Toggle commit list-
38abfcf9...2047f4b0 - 42 commits from branch
added 1 commit
- 9b985305 - need to fix some regression in the handling of exts cmakelists