[build-system] Add CMake support
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.
autotoolsis 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_partyin 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 (closed)) -
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