{"id":19855221,"url":"https://github.com/leggedrobotics/gtsam_catkin","last_synced_at":"2025-08-19T03:11:18.764Z","repository":{"id":218768589,"uuid":"650156944","full_name":"leggedrobotics/gtsam_catkin","owner":"leggedrobotics","description":"Catkinized version of gtsam.","archived":false,"fork":false,"pushed_at":"2024-11-23T23:37:27.000Z","size":17,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-01-11T13:52:53.904Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leggedrobotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-06T13:13:04.000Z","updated_at":"2024-09-20T00:00:49.000Z","dependencies_parsed_at":"2024-01-23T18:58:56.456Z","dependency_job_id":"2ff12110-9cc9-43de-913b-9db9fc845889","html_url":"https://github.com/leggedrobotics/gtsam_catkin","commit_stats":null,"previous_names":["leggedrobotics/gtsam_catkin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leggedrobotics%2Fgtsam_catkin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leggedrobotics%2Fgtsam_catkin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leggedrobotics%2Fgtsam_catkin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leggedrobotics%2Fgtsam_catkin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leggedrobotics","download_url":"https://codeload.github.com/leggedrobotics/gtsam_catkin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241245269,"owners_count":19933295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T14:12:03.026Z","updated_at":"2025-02-28T21:38:27.453Z","avatar_url":"https://github.com/leggedrobotics.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GTSAM Catkin\n\nThis package is a catkin wrapper around GTSAM.\n\n*Contact:* Julian Nubert (nubertj@ethz.ch), Turcan Tuna (tutuna@ethz.ch)\n\n## 1 - Overview\n\nIf no GTSAM installation is present on the system, *GTSAM_catkin* is built by compiling the gtsam libraries within the catkin workspace. On a modern desktop computer this takes about 3 minutes. \nIf a GTSAM installation exists on the system, this is used instead and wrapped as a catkin package automatically. The latter can be particularly useful if multiple workspaces with these packages are compiled on the computer, or *GTSAM_catkin* is intended for longer-term usage. \n\nThe places it will look for for GTSAM are \n* `~/.local/` and \n* `/usr/local`\n\nIf it does not find any GTSAM installation at these two places, it will automatically pull the raw files from GitHub and build it from source in your catkin workspace.\n\nFor an example on how to build GTSAM (locally) on your system, refer to [this link](https://github.com/leggedrobotics/graph_msf/blob/main/doc/installation.md).\n\n## 2 - Automatic Compilation of GTSAM in Workspace\n\n### 2.0 - Requirements\nNo additional requirements known at this point.\n\n### 2.1 - GTSAM_catkin Compilation\nCompilation of *GTSAM_catkin* is really straightforward.\nMake sure you have a catkin workspace with this repository:\n```bash\ngit clone https://github.com/leggedrobotics/GTSAM_catkin.git\n```\nThen you can build the package in release mode.\n```bash\ncatkin build GTSAM_catkin -DCMAKE_BUILD_TYPE=Release\n```\nAs introduced before, the 3 compilation options are chosen automatically in the following order:\n1. GTSAM is installed locally and the `$GTSAM_DIR` environment variable is pointing to the installation location. The success of this is indicated through the message *INFO: Found manually set path to GTSAM. Using version located at (some user-specified location)*.\n   * This can e.g. be done by setting `export GTSAM_DIR=/home/nubertj/.local/lib/cmake/GTSAM/`.\n2. GTSAM is installed globally.\nBoth of these options should compile within a few seconds.\n3. If none of the before cases holds, GTSAM is automatically pulled locally and compiled inside the workspace.\n\n## 3 - Usage of GTSAM_catkin in your project\nUsage in your catkin project is then straightforward.\n\n### CMakeLists.txt\n```cmake\nset(CATKIN_PACKAGE_DEPENDENCIES\n  GTSAM_catkin\n)\n...\nfind_package(catkin REQUIRED COMPONENTS\n  ${CATKIN_PACKAGE_DEPENDENCIES}\n)\n...\n\ncatkin_package(\n  ...\n  CATKIN_DEPENDS\n    ${CATKIN_PACKAGE_DEPENDENCIES}\n  DEPENDS \n)\n...\ninclude_directories(\n  ${catkin_INCLUDE_DIRS}\n  ...\n)\n...\ntarget_link_libraries(${PROJECT_NAME}\n  ${catkin_LIBRARIES}\n  ...\n)\n\n```\n\nAn example of this can be seen in [./gtsam_catkin_example_project/CMakeLists.txt](https://github.com/leggedrobotics/gtsam_catkin/blob/main/gtsam_catkin_example_project/CMakeLists.txt).\n\nYou can also build it by running:\n```bash\ncatkin build gtsam_catkin_example_project\n```\n\n### Code Usage\nHeaders from gtsam, gtsam_unstable, etc., can then be included as usual:\n```cpp\n#include \u003cgtsam/...\u003e\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleggedrobotics%2Fgtsam_catkin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleggedrobotics%2Fgtsam_catkin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleggedrobotics%2Fgtsam_catkin/lists"}