162 Commits

Author SHA1 Message Date
Rainer Kuemmerle
2f0720e53e Drop custom script for finding SuiteSparse
Replace custom cmake script for finding SuiteSparse by looking directly
for CHOLMOD.

Relates #874
2025-10-10 16:50:05 +02:00
Rainer Kuemmerle
ef80e643ad Prepare build with Eigen release v5.0.0 2025-10-10 16:48:52 +02:00
Tom Royls
6836dcb424 Move alias definitions 2025-06-01 12:16:00 +00:00
Tom Royls
f570bb5fff Improve CMake integration for use as subdirectory
- Add PROJECT_IS_TOP_LEVEL checks to conditionally enable options and installations
- Create alias targets (g2o::core, g2o::types_*, g2o::solver_*) for better namespacing
- Fix include paths to use g2o_BINARY_DIR instead of PROJECT_BINARY_DIR
- Add G2O_INSTALL_CMAKE_CONFIG option to control config file installation
- Set default build options to OFF when used as subdirectory
- Improve config.cmake to handle missing targets export gracefully
2025-05-31 17:42:29 +00:00
Ryan
6ed268cf02 Obey GNUInstallDirs variables (#886)
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
Co-authored-by: Rainer Kümmerle <RainerKuemmerle@users.noreply.github.com>
2025-04-12 20:56:42 +02:00
Rainer Kuemmerle
79207d37e9 Bump SO version 2025-02-22 10:49:07 +01:00
Rainer Kuemmerle
9c0ace6432 Set CMAKE_OSX_DEPLOYMENT_TARGET to 10.15
Set OSX target to be at minimum 10.15 (macOS Catalina) to account for
std::filesystem::path

Fix #791
2024-05-19 11:09:02 +02:00
Rainer Kuemmerle
8aae267d6b Fix codecov integration 2024-04-20 16:04:05 +02:00
Rainer Kuemmerle
e16cfc2138 Fix building with G2O_USE_OPENGL switched off
Relates #779
2024-04-05 20:13:10 +02:00
Rainer Kuemmerle
c4a474f725 Move versions to same place in CMakeLists 2023-08-06 15:53:54 +02:00
Rainer Kuemmerle
2e050e4231 Fix compile errors for the benchmarks
Fix #708
2023-08-06 14:20:10 +02:00
Rainer Kümmerle
b71540c947 Merge pull request #697 from RainerKuemmerle/rainer/677
Fix SSE auto detection in cmake
2023-06-26 14:26:04 +02:00
Rainer Kümmerle
268c668c03 Find spdlog in quiet mode (#698) 2023-06-25 20:04:22 +02:00
Sebastian Kasperski
c0511387ea Require spdlog 1.6 for cfg. (#692) 2023-06-25 19:49:23 +02:00
Rainer Kuemmerle
b9b3f66566 Fix SSE auto detection in cmake
Relates #677
2023-06-25 19:09:37 +02:00
Rainer Kuemmerle
6c9d510a85 Relax Eigen to 3.3 2023-05-01 22:25:13 +02:00
Rainer Kuemmerle
2a7ea2732c Complete logger implementation
* Add setLevel function to control the logging level
* Add logger to solvers, types and core
* Fix for fmt >= 9.0.0
* Add G2O_USE_LOGGING cmake option
2023-05-01 21:55:00 +02:00
Rainer Kuemmerle
e1328f91f3 Add logger implementation
* Add wrapper classes to interface to spdlog
* Change text output to spdlog

Relates to #675
2023-04-15 19:09:00 +02:00
Rainer Kuemmerle
7cfb386347 Drop broken single precision feature 2023-03-26 14:40:41 +02:00
Rainer Kuemmerle
8b3b96c7f1 Move autodiff header to new folder 2023-03-25 15:47:02 +01:00
Rainer Kuemmerle
f59d7209ea Drop MSVC90
This old compiler does not make sense with c++17
2023-03-18 18:40:52 +01:00
Rainer Kuemmerle
eccee6cce9 Require Eigen 3.4 2023-03-18 16:39:54 +01:00
Rainer Kuemmerle
5eed60d7f0 Move to C++17
Relates to: #646
2023-03-18 16:39:50 +01:00
Rainer Kümmerle
f902c00f58 Add SO_VERSION and VERSION (#654)
Using semantic version numbers

Fix #649
2023-03-18 16:34:54 +01:00
Rainer Kuemmerle
7ec3eb52e3 Drop build type suffix and place bin/lib in build folder
Relates #650
2023-03-12 13:45:04 +01:00
TimPushkin
deaf362fa1 Set CMAKE_* cache vars only as a top-level project 2023-02-08 18:41:22 +03:00
TimPushkin
f481c6f5b9 Replace CACHE-BOOLs with options 2023-02-03 10:46:18 +03:00
Sebastian Kasperski
5212e0a2c6 Revert "Install find-macro for SuiteSparse. (#618)" (#627)
This reverts commit bd9c912de4.
2023-01-26 19:54:51 +01:00
Sebastian Kasperski
bd9c912de4 Install find-macro for SuiteSparse. (#618) 2022-12-09 17:03:47 +01:00
Rainer Kümmerle
e4bad64aa6 Update find scripts for CHOLMOD / SuiteSparse (#617) 2022-12-08 18:56:54 +01:00
Rainer Kümmerle
5575db93f5 Use target_include_directories (#598)
* Use target_include_directories to specify include dirs
2022-08-28 13:27:58 +02:00
Evan Levine
f3f10d42d9 Correct typos. 2022-05-01 09:01:11 -07:00
Rainer Kuemmerle
b1ba729aa5 Move BUILD_WITH_MARCH_NATIVE option out to higher level 2022-03-19 15:47:28 +01:00
Rainer Kuemmerle
4b0bd13b90 Use cmake's FetchContent to download googletest 2022-02-13 09:35:52 +01:00
Sebastian Kasperski
bd7cc541b1 Set G2O_USE_VENDORED_CERES on target. 2021-07-26 12:07:05 +02:00
Paul Nixon
dd020e13de allow using ceres-solver from repo (#506)
* allow using ceres-solver from repo

Some Linux distros and other package repos include a copy of
ceres-solver.

Anyone trying to package g2o or incorporate g2o into a larger project
would benefit from being able to use just one copy of ceres, and
avoid conflicts.

The newest version of ceres-solver is no longer compatible with some
of g2o's examples, so this change is controlled by a CMake option
G2O_USE_VENDORED_CERES.
2021-07-09 18:56:28 +02:00
Simon Julier
b5b20ee340 Use separate flag to build LGPL libraries and match types (#526)
* Use separate flag to build LGPL libraries. Automatically set LGPL library type to main g2o library build type.

Co-authored-by: Rainer Kümmerle <RainerKuemmerle@users.noreply.github.com>
Co-authored-by: Rainer Kuemmerle <rainer.kuemmerle@gmail.com>
2021-07-06 13:54:21 +02:00
Simon Julier
a49abaf6b2 Revert "Use separate flag to build LGPL libraries. Automatically set LGPL library type to main g2o library build type."
This reverts commit 9b406b8e2b.

It was accidentally pushed straight to the master instead of as a pull request.
2021-06-24 19:15:14 +01:00
Simon Julier
9b406b8e2b Use separate flag to build LGPL libraries. Automatically set LGPL library type to main g2o library build type. 2021-06-24 19:08:04 +01:00
Simon Julier
a0585942a9 Conditional build of builtin types (#514)
* Added cmake files to conditionally compile the different types, and compile the examples available with the different types.
* Removed unneeded dependency.
* Updated cmake files to support conditional compiling of types.
2021-05-19 20:05:49 +02:00
Georgios Floros
6eb076db37 fix g2o crashes when running openvslam (#509) 2021-05-13 17:43:10 +02:00
a*morale
307187da0a fix build for arm targets
check if compiler supports any sse* options before enabling it (#493)
2021-02-15 18:51:11 +01:00
Rainer Kuemmerle
4ddab14532 Update to C++14
* C++14 is now 6 years old, time to move on
2021-01-07 10:43:04 +01:00
Rainer Kuemmerle
c51eebe3d4 Add more test cases
* add tests for filesys_tools
2021-01-07 10:02:33 +01:00
Rainer Kuemmerle
7fc9d1ccc2 Move EXTERNAL folder under g2o
* simplify handling of include directories in case g2o is installed
* fix #477
2021-01-04 18:45:47 +01:00
Rainer Kümmerle
8d75c9cad3 Rainer/codecov (#475)
* Add codecov
2021-01-04 14:47:58 +01:00
Rainer Kuemmerle
7be9560323 Merge branch 'master' into constant_vertex 2020-12-23 00:48:22 +01:00
Rainer Kuemmerle
786782e37b Change cmake status messages
[skip ci]
2020-12-05 14:06:08 +01:00
Rainer Kuemmerle
778fc1e98b Drop own copy of CSparse 2020-12-05 12:05:02 +01:00
Victor Mataré
c389eb4c6c cmake: use GNUInstallDirs (#449)
* relocable package installation fix
* cmake: use GNUInstallDirs

Co-authored-by: Csaba Sipos <siposcsaba89@gmail.com>
2020-12-04 19:48:57 +01:00