azure-sdk-for-cpp/sdk/core
James Le Cuirot a091f4c8e0
Set VERSION property against all libraries to write versioned SONAME (#6087)
The SONAME currently written to shared libraries is unversioned, e.g.
libazure-core.so. The SDK's ABI is unstable, so replacing these .so
files with newer versions will immediately break any consumers.

Setting the VERSION property results in libazure-core.so being a symlink
that is used at build time to point to the versioned library, e.g.
libazure-core.so.1.14.0. Consumers point directly to the versioned
library and continue to work against the older version when the library
is upgraded. Once rebuilt, they then point to the newer version instead.

It is more common to use an ABI version that is separate to the library
version, but it makes sense to use the latter when the ABI is unstable.
The Boost libraries do exactly this.

This change has no effect on static libraries, which is the more common
use case. See the CMake documentation for its wider effects.

https://cmake.org/cmake/help/latest/prop_tgt/VERSION.html
2024-10-11 11:42:13 -07:00
..
azure-core Set VERSION property against all libraries to write versioned SONAME (#6087) 2024-10-11 11:42:13 -07:00
azure-core-amqp Set VERSION property against all libraries to write versioned SONAME (#6087) 2024-10-11 11:42:13 -07:00
azure-core-test Remove unneeded <regex> includes (#5851) 2024-07-31 13:07:47 -07:00
azure-core-tracing-opentelemetry Set VERSION property against all libraries to write versioned SONAME (#6087) 2024-10-11 11:42:13 -07:00
perf Add consumption-time value of __cplusplus to User-Agent (#5662) 2024-07-29 18:31:51 -07:00
ci.yml Enable UseFederatedAuth by default (#5852) 2024-07-31 17:10:39 -07:00
CMakeLists.txt
perf-tests.yml Install test proxy and enable all tests (#5365) 2024-02-21 10:58:35 -08:00
perf.yml Install test proxy and enable all tests (#5365) 2024-02-21 10:58:35 -08:00