apache / celix

Apache Celix is a framework for C and C++14 to develop dynamic modular software applications using component and in-process service-oriented programming.
https://celix.apache.org/
Apache License 2.0
166 stars 87 forks source link

push Streams library can build failed #576

Closed tonychen0924 closed 1 year ago

tonychen0924 commented 1 year ago

When I build ush Streams library in ubuntu22.04 and cmake version 3.22.1 , it will compiled faied , forward info: CMake Error at CMakeLists.txt:19 (celix_subproject): Unknown CMake command "celix_subproject". I also check elso lib : etcdlib and Promises , there CMakeLists.txt defined "if (NOT COMMAND celix_subproject)" logic , but Streams do not have .

And I want to know this lib if is necessary to build example case , such as hello world

PengZheng commented 1 year ago

PushStreams depends on Promises.

Instead of making PushStreams a standalone project (actually we can't), we can combine etcdlib/Promises/PushStreams into Celix, and make the framework optional, so that we can opt to build etcdlib/Promises/Promises+PushStreams alone.

Also automatic dependency deduction can be easily implemented at Conan level. That means if you want PushStreams, Promises will be automatically built for you.

pnoltes commented 1 year ago

I agree. IMO this means:

tonychen0924 commented 1 year ago

Thank you very much for your answer . But when I build example direcotry process , such as helloword , it will cmake error : Unknown CMake command "add_celix_bundle". Why ? I mistakenly thought it was pushStreams reason .

PengZheng commented 1 year ago

Thank you very much for your answer . But when I build example direcotry process , such as helloword , it will cmake error : Unknown CMake command "add_celix_bundle". Why ? I mistakenly thought it was pushStreams reason .

Does #577 fix your problem?

PengZheng commented 1 year ago

The OP's issue has been fixed.