<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 27, 2017 at 11:03 PM, Roger Leigh <span dir="ltr"><<a href="mailto:rleigh@codelibre.net" target="_blank">rleigh@codelibre.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi folks,<br>
<br>
I'd like to bring this issue to your attention to canvas some feedback regarding the use of version suffixes:<br>
<br>
  <a href="https://gitlab.kitware.com/cmake/cmake/issues/16716" rel="noreferrer" target="_blank">https://gitlab.kitware.com/cma<wbr>ke/cmake/issues/16716</a><br>
<br>
This is basically a proposal to allow an optional version suffix like "-rc3", "-beta1" etc. in addition to the existing major.minor.patch.tweak pattern, for better interoperability with systems and software releases already using such suffixes, and also to permit the use of such suffixes by CMake projects for their own purposes.  A version suffix would be usable anywhere currently using 4 digit versions, with all the necessary functionality in CMake being updated to handle this.<br>
<br>
The proposal linked above contains a much more detailed rationale and suggested implementation strategy.  I'd be very happy to hear any thoughts anyone has regarding this either on the above issue, or here.<br></blockquote><div><br></div><div>Hi Roger,</div><div><br></div><div>Thanks for starting this discussion!</div><div><br></div><div>I started a prototype for a PKGCONF mode for find_package in addition to CONFIG and PACKAGE. In this mode, CMake parses .pc files and creates one imported target per file where values from the .pc file are set as target properties. It works pretty well and does not rely on pkg-config. To be compatible with pkg-config, I needed to extend `cmSystemTools::VersionCompare`, because pkg-config uses RPM version comparison. This however breaks current tests because 1.2 != 1.2.0 in the RPM version comparison.</div><div><br></div><div>It might be necessary to provide several version comparison algorithms like Debian, RPM, Semver.</div><div>Also splitting the version string into components may depend on the versioning scheme. Given OpenSSL version 1.0.2g, is that patch 2 suffix g, or rather patch 2g?</div><div><br></div><div>Cheers, Daniel</div></div></div></div>