* Fix ProjectVersion handling of pre-releases
* Add workaround for old, non-standard version
* Attempt to fix versioning
* More consistent comments
* Apply suggestions from code review
- Set CompareType's underlying type to int and revert change to ProjectVersion::compare's parameters
- Add "None" and "All" as names elements of CompareType enum
- Preserve hyphens in prerelease identifiers
- Pad invalid (too short) versions to prevent crashes or nasty behavior
- Compare numeric identifiers to non-numeric ones correctly
- Don't interpret identifiers of form "-#" as numeric (where '#' is any number of digits)
- Add tests to ensure fixes in this commit work and won't regress in the future
* CMAKE fixes from code review
Co-authored-by: Tres Finocchiaro <tres.finocchiaro@gmail.com>
* Remove unnecessary changes to CMake logic
* More const, more reference
* Apply suggestions from code review
Co-authored-by: Tres Finocchiaro <tres.finocchiaro@gmail.com>