pocoproject / poco

The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
https://pocoproject.org
Other
8.21k stars 2.13k forks source link

Dependency management #4608

Open OgreTransporter opened 1 month ago

OgreTransporter commented 1 month ago

When updating the integrated dependencies (PR #4607) of POCO, I noticed that the ZLIB, for example, is available both in the Foundation and in PDF. In my opinion, compiling the code into the libraries is not expedient in the current version. It can happen at this point that different ZLIB versions are used.

At this point, it is advisable to define the libraries in CMake as separate targets. If the dependency code is also to be integrated into static Poco libraries, the targets can be created as object libraries (https://cmake.org/cmake/help/latest/command/add_library.html#object-libraries)

This way:

  1. the same versions of libraries are used everywhere
  2. the libraries can be updated more easily
  3. it is easier to use external or own versions of the libraries
matejk commented 1 month ago

I agree. There is already issue #4358 open for that.