Skip to content

[build-system] Add CMake support

Cristian Le requested to merge LecrisUT/octopus:cmake into main

Description

We should gradually switch to a CMake workflow for various reasons:

  • Better IDE support, e.g. CLion, allowing developers to quickly navigate the code, add breakpoints, etc.
  • Lessen the barrier of entry for new developers wanting to contribute. autotools is slowly fossilizing
  • Various hand-built scripts can be exchanged for just a few lines of CMake

Note

  • The bundled dependency location is being changed to /third_party in order to avoid confusion and keep track of the ones that are ported
  • Bundled packages should be converted to git modules even if they are not cmake based. If not git repository is available, one should be created
  • Wrapper configurations for both bundled and optional packages should be placed in /third_party

News snippet

Octopus can now build using cmake

Checklist

  • Add all executables (they should contain only the relevant code for compilation)
  • Add documentation builder (!1914)
  • Add testsuite (!1898 (closed))
  • Add third-party library support
  • Add external_libs natively (find_package, fetch, git submodule, etc.)
  • liboct_parser?
  • Integrate buildbot
Edited by Alex Buccheri

Merge request reports