Skip to content
Snippets Groups Projects

Remove libGalil and libZaber and add exts/CMakeLists.txt

Merged Daniel Joseph Antrim requested to merge dantrim_remove_motion_control into devel

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.

Edited by Daniel Joseph Antrim

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 1 commit

    • a9d20db7 - remove libZaber dir and put exts/CMakeLists.txt

    Compare with previous version

  • added 1 commit

    • 7a797e93 - fix variable in exts/CMakeLists.txt

    Compare with previous version

  • Daniel Joseph Antrim changed title from Remove libGalil and make Zaber an external submodule to Remove libGalil and libZaber and add exts/CMakeLists.txt

    changed title from Remove libGalil and make Zaber an external submodule to Remove libGalil and libZaber and add exts/CMakeLists.txt

  • Daniel Joseph Antrim changed the description

    changed the description

  • Karol Krizka resolved all threads

    resolved all threads

  • Elisabetta Pianori marked this merge request as draft

    marked this merge request as draft

  • Karol Krizka mentioned in merge request !226

    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...

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Daniel Joseph Antrim changed the description

    changed the description

  • added 1 commit

    • 9b985305 - need to fix some regression in the handling of exts cmakelists

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading