Commit Graph

11 Commits

Author SHA1 Message Date
Nikolaus Demmel fa99e2c30b ci: use ci-job-name as cache key and print ccache info 2019-04-25 12:30:28 +02:00
Nikolaus Demmel cdd5578092 ci: use base image for clang-format 2019-04-24 17:48:13 +02:00
Nikolaus Demmel db8655b3d8 ci: fix caching 2019-04-24 17:47:40 +02:00
Nikolaus Demmel 6755f08678 ci and cmake improvements
Changes along the line of
https://gitlab.com/VladyslavUsenko/basalt-headers/merge_requests/1 and
https://gitlab.com/VladyslavUsenko/basalt-headers/merge_requests/2,
and more.

Warning free builds on macos 10.11 - 10.14, Ubuntu Xenial &
Bionic. (macOS 10.14 is not yet in CI, but tested locally.)

Changes similar to basalt-headers:

 - cmake: raise minimum version to 3.10
 - cmake: add workarounds to support macOS < 10.14
 - cmake: set ccache only if not yet set and print info
 - cmake: add NDEBUG define (to disable asserts) for release build and
   EIGEN_INITIALIZE_MATRICES_BY_NAN for others. Add externally supplied
   CMAKE_CXX_FLAGS at the end to allow overriding the defaults.
 - tests: add enable_testing() in main CMakeLists.txt, such that we can
   call 'ctest' from build folder.
 - tests: simplify gtest / gtest_main linking
 - tests: use the newer gtest_discover_tests instead of add_test, which
   adds a separate cmake test for every gtest, even with multiple
   defined in a single executable. Its not only more reliable and less
   verbose in the CMakeLists.txt, but also allows to run 'ctest'
   without -V and still see status for every individual test.
 - ci: add build jobs for Debug/RelWithDebInfo on Bionic, as well as
   builds on Xenial and El Capitan. Use templates to simplify
   .gitlab-ci.yml
 - ci: clang-format job

Additional changes:

 - cmake: unify formatting
 - cmake: various diagnostic warnings for situations that are
   unsupported (should help with gitlab issues).
 - cmake options to disable openmp, pass custom eigen root,
   compiler-launcher, additional CXX_FLAGS that can override default
   flags also for submodules (opengv etc), ...
 - cmake: moved configuration of submodule libs to
   `thirdparty/CMakeLists.txt`. This includes various fixes for
   limiatations of the thirdparty cmake definitions. In particular
   ensures that correct eigen is used, that opengv respects march and
   CXX_FLAGS passed from command line.
 - cmake: simplified linking of executables. Linking `basalt` is
   enough.
 - cmake: basalt sources now build with the minimal disabled
   warnings ("-Wall Wextra -Werror -Wno-unused-parameter
   -ftemplate-backtrace-limit=0", and additionally "-Wno-exceptions"
   for clang). Additional flags are now only set for the submodule
   targets in thirdparty.
 - tests: Running ctest in build folder now also runs the unit tests
   from basalt-headers.
 - ci: in addition to the additional compile jobs and there are now
   also 'test' jobs, that check that the executables in the deb's
   work (runs on all branches, not just master).
2019-04-24 14:21:24 +02:00
Vladyslav Usenko 320074bf94 Merge branch 'master' of gitlab.vision.in.tum.de:slam/basalt 2019-04-18 13:39:50 +02:00
Vladyslav Usenko dda61be439 Update .gitlab-ci.yml 2019-04-18 13:39:31 +02:00
Vladyslav Usenko 1e343b5ade Update .gitlab-ci.yml 2019-04-18 10:57:20 +00:00
Vladyslav Usenko 660155376e Update .gitlab-ci.yml 2019-04-18 09:29:31 +00:00
Vladyslav Usenko 1f6e38d95e Update .gitlab-ci.yml 2019-04-15 21:20:46 +00:00
Vladyslav Usenko e15bb22410 Added euroc evaluation to CI 2019-04-15 15:38:58 +00:00
Vladyslav Usenko 0cef943b16 Initial commit 2019-04-14 21:08:32 +02:00