ecal
ecal copied to clipboard
Compile eCAL core standalone
This issue describes the steps that need to be taken to be able to compile the eCAL core component as a standalone project.
These steps will probably be evolved as separate issues, as handling everything in one PR will be too big.
- [x] Separate .proto definitions: Currently all .proto definitions for eCAL are contained in ecal/pb and linked into one library. This is problematic if we want to build the core as standalone. We should split these files and compile them alongside the approriate project (core, player, recorder, sys, ...)
- [x] Other libs:
eCAL::utils
-> need to see what parts are needed, maybe extract those relevant for eCAL Core - [ ]
eCAL::proto
: This library contains helper functionality, used mainly for proto publishers / subscribers / reflections. First, we move all these files out of the core. Then we can actually create language packs, which build upon the pureCSubscriber
, .. Layer. These serialization packs can include different components: Pub/sub, Service/Client, Reflection, Monitoring, samples, ... - [ ] Make eCAL Core installable by itself. E.g. Create
eCALCoreConfig.cmake
->eCALConfig.cmake
includes, (depending on requested component), theeCALCoreConfig.cmake
. (Qt5 does it very similarly). Modelling interdependencies may be a bit tough.find_package(eCAL REQUIRED COMPONENT core)
will be equivalent tofind_package(eCALCore REQUIRED)
.
Current state:
- protobuf files splitted into app, time, ecal
- npcap supporting library (udpcap) will be part of the new ecal-core the same way as today (maybe we make a standalone library later)
- CustomTclap dependency cutted (2 file duplicates now part of the core)
- ecal_utils needs to be extracted as standalone library, proposed name "ecal-util"
ecal-utils moved in separate repository https://github.com/eclipse-ecal/ecal-utils