Skip to content

Conversation

@drew-parsons
Copy link
Contributor

Set the ScaLAPACK project version in a single place, at the project
command in CMakeLists.txt.

This defines SCALAPACK_VERSION, from which cmake derives
SCALAPACK_VERSION_MAJOR, SCALAPACK_VERSION_MINOR, SCALAPACK_VERSION_PATCH

Use SCALAPACK_VERSION as the shared library VERSION (defining the
shared library file as libscalapack.so.2.2.1)

and use SCALAPACK_VERSION_MAJOR.SCALAPACK_VERSION_MINOR as the shared
library SOVERSION (defining the soname as libscalapack.so.2.2)

That is, assume that the ABI updates with each MINOR release and
reflect that in the soname.

An API update (and therefore an ABI update) would be expected with any
MAJOR release.

No ABI update should occur with a PATCH release.

Closes: #46

Set the ScaLAPACK project version in a single place, at the project
command in CMakeLists.txt.

This defines SCALAPACK_VERSION, from which cmake derives
SCALAPACK_VERSION_MAJOR, SCALAPACK_VERSION_MINOR, SCALAPACK_VERSION_PATCH

Use SCALAPACK_VERSION as the shared library VERSION (defining the
shared library file as libscalapack.so.2.2.1)

and use SCALAPACK_VERSION_MAJOR.SCALAPACK_VERSION_MINOR as the shared
library SOVERSION (defining the soname as libscalapack.so.2.2)

That is, assume that the ABI updates with each MINOR release and
reflect that in the soname.

An API update (and therefore an ABI update) would be expected with any
MAJOR release.

No ABI update should occur with a PATCH release.

Closes: Reference-ScaLAPACK#46
@drew-parsons
Copy link
Contributor Author

I took the liberty here of setting the patch version to 1. i.e. SCALAPACK_VERSION 2.2.1.

I also took the liberty of defining the soname for the windows build (dll shared libraries). What's good for unix should still be good for windows.

@weslleyspereira
Copy link
Collaborator

Thanks @drew-parsons! It looks really good. Can you please consider including on the README file something like the following?

About version numbering on ScaLAPACK:
- We assume that the ABI updates with each MINOR release.
- An API update (and therefore an ABI update) would be expected with any MAJOR release.
- No ABI update should occur between PATCH releases.

@drew-parsons
Copy link
Contributor Author

Can you please consider including on the README file

Done.

@weslleyspereira
Copy link
Collaborator

Great job! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

version 2.1 marked in release 2.2 CMakeLists.txt

3 participants