[Services] Export shared services cpp as CMake Project
Summary:
Needed for tunnelbroker, blob, backup
Decided to move DatabaseEntitiesTools.h into this directory, since backup, blob, and tunnelbroker all made use of it with only small differences in which headers were being imported. This file needed to be moved because using the shared library as a target caused conflicts as to what #include "DatabaseEntitiesTools.h" did for each project. However, moving this file causes all 3 services to "take notice". Tunnelbroker is just including the code as if it's own, but is fixed to do the idiomatic thing in D4757
Depends on D4488
Backup docker and cmake logic is updated to support new build paradigm in D4494
Blob docker and cmake logic is updated to support new build paradigm in D4493
Test Plan:
nix develop cd services/lib/src && mkdir build && cd build && cmake .. && make
Reviewers: max, karol, tomek, atul
Reviewed By: atul
Subscribers: ashoat, tomek, adrian, atul, karol, abosh
Differential Revision: https://phab.comm.dev/D4489