CMake: set compatibility to ExactVersion
We are breaking API all the time due to development.
- Add a note about API breaking to ReadMe
- Set CMake compatibility to
ExactVersion, meaning a dependee asking for libwave 0.1.0 will get an error if 0.1.1 or 0.2.0 is installed.
Eventually we want to move to semantic versioning, but currently we are in what that standard calls the "initial development phase":
Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.
We should start incrementening the minor version.
Yes. It does potentially add a lot of work: if someone in a large monorepo project were to update the libwave submodule, modules may refuse to build until their CMakeLists are explicitly updated with the new libwave version. But it is more honest about our (lack of) compatibility guarantee.
I think that's fine for now @leokoppel. Plus this way the user will be more conscious about their libwave version and why they would like to use it. Better than everything breaking and the user getting mad at us :(.