Commit Graph

26 Commits (b1b0750e5b587f85e3197985c3a206cc8ded1053)

Author SHA1 Message Date
Holger Rapp 481211073f Build relocatable code. (#413)
This is required to reuse code from cartographer_ros in cartographer_rviz. Otherwise linking fails with errors like these:

~~~
/usr/bin/ld: libcartographer_ros.a(msg_conversion.cc.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be use
d when making a shared object; recompile with -fPIC
~~~

While this could be fixed locally in cartographer_ros, it is a reasonable default to compile with `-fPIC` always.
2017-07-20 14:31:50 +02:00
Jochen Sprickerhof e345ae8280 Support compiling with CMAKE_BUILD_TYPE set to None (#405)
Debian defaults to setting CMAKE_BUILD_TYPE to None and setting CFLAGS
and alike to Debian standards.
2017-07-17 10:34:14 +02:00
Jochen Sprickerhof 12b3cc0d7b Support new Debian version of gmock and add testing for debian systems (#236) 2017-05-04 12:47:12 +02:00
Wolfgang Hess 6d2feaa8c7 Build and run all tests found by the glob. (#258) 2017-05-03 16:55:13 +02:00
Holger Rapp 1cdcd12a8b Make missing case statements an error. (#245) 2017-05-02 16:56:10 +02:00
Juraj Oršulić 2854c485ef Enable building in Debug mode if the user really wants this (#230)
Also inform the user about slow performance if they do this.
2017-03-30 17:00:50 +02:00
Juraj Oršulić 370e1e52df Enable adding as a CMake subproject (#203)
This is done by replacing CMAKE_*_DIR variables with PROJECT_*_ variables so
that CMake uses correct paths when libcartographer is a subproject

Move AllFiles.cmake into the project binary dir instead of the root CMake binary dir,
use a project-dependent detect_changes target name

This makes overriding it from an upper level CMakeLists.txt possible, which is required
when doing a super-build which doesn't require installing libcartographer.
2017-02-09 15:57:54 +01:00
Damon Kohler 5d56b3190e Rerun CMake when files are added/removed. (#170) 2016-12-21 12:05:15 +01:00
Damon Kohler 4e9c3d69b5 Build all our source files into a single library. (#164) 2016-12-20 11:24:08 +01:00
Wolfgang Hess 3caf5a4b52 Fix the target_include_directories. (#162)
The Boost include directory was not correctly added, and the
headers of the project where always looked up at the source or
build directory, not where they are installed.
2016-12-14 17:54:53 +01:00
Wolfgang Hess ae490c540d Revert to workaround #158. (#160)
Currently, on xenial/kinetic the transitive dependencies on
libcartographer and its dependencies are not duplicated after
each library that depends on it in the linker command.
2016-12-13 13:57:05 +01:00
Wolfgang Hess efe700a9f3 Fix link dependencies. (#159)
Add dependencies via target_link_libraries as PUBLIC.
It seems the new behavior which defaults to PRIVATE was
used implicitly causing transitive dependencies to be
omitted.
2016-12-12 14:56:54 +01:00
Damon Kohler 78f5e2f088 Reorder dependency linking to fix Kintetic. (#158) 2016-12-09 14:45:52 +01:00
Damon Kohler 03c8e8d195 Replace USES_ROS through Catkin auto-detection. (#128) 2016-11-17 11:01:46 +01:00
Wolfgang Hess 1081473be9 Fix FindGMock.cmake and the CMake modules installation. (#112) 2016-10-28 15:43:13 +02:00
Atsushi Watanabe f45eaa9c67 Supports system-wide installed GMock (#105)
This commit fixes #73.
Tested using docker ubuntu:trusty and native Fedora 24 with gmock 1.8.
2016-10-28 12:23:21 +02:00
Holger Rapp 6e6d2decaa Fixes for Xenial. (#103)
- Remove use of get_property(LOCATION in cmake where this is easy. This
  reduces build warnings sufficiently to not drown out other important
  information.
- Mark cairo a dependency in package.xml so rosdep pulls it in.

Tested using docker -t ros:kinetic, which is based on Xenial.
2016-10-26 14:23:00 +02:00
Wolfgang Hess 5b16f4bcb6 Simplify 3D visualization code. (#88)
Removes the non-const Submaps accessor.
Adds -Werror=missing-braces.
2016-10-20 11:29:12 +02:00
Holger Rapp 15b58766f5 Use pkg-config variables for yaml-cpp. (#84)
Related to googlecartographer/cartographer_ros#117.
2016-10-19 17:11:31 +02:00
Holger Rapp c2aed53ce8 Adds a points processing pipeline and a XRay creator. (#66)
- Adds cairo as required dependency.
- Adds an 'io' module.
2016-10-14 15:14:46 +02:00
Holger Rapp edff6a1e24 Remove all mentions of ZLIB. (#49)
We do not actually use zlib anywhere anymore.
2016-10-13 12:33:27 +02:00
Holger Rapp 8f64860b5d Preparing changes to use automatic CMakeFiles also in the ROS projects. (#48) 2016-10-12 17:03:46 +02:00
Holger Rapp be813a06fe Prepare CMake files for testing support. (#47)
- Only build gmock if we really require testing.
- Adds a wrapper for generating catkin aware tests. This works around
  ros/catkin#830.
2016-10-12 15:38:12 +02:00
Holger Rapp 8e7996f015 Extend CMake functions for reuse in other Cartographer subprojects. (#45)
- Change CARTOGRAPHER_LIBRARIES to be absolute path to adhere to the
  CMake documentation.
2016-10-12 13:39:03 +02:00
Holger Rapp eeb17bf055 Adds google_binary to create installable binaries. (#43)
- Do not link in Ceres if gflags or glog is used, but still rely on ceres
  to find those libraries for us.
- Update CMakeLists with new settings.
2016-10-11 15:18:59 +02:00
Damon Kohler 269c28cb0c Moves the contents of the cartographer subdirectory up one level. 2016-08-03 12:48:29 +02:00