On 2007-09-21 14:42-0600 James Bigler wrote:
James Bigler wrote:
Is there an example I could look at to parse out the individual version
numbers, once I get this string?
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" version-string ${output})
I want to be able to get the three integers out of version-string.
I found some code in FindQt4.cmake:
STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_qt_major_vers
"${QT_MIN_VERSION}")
STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_qt_minor_vers
"${QT_MIN_VERSION}")
STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers
"${QT_MIN_VERSION}")
According to the documentation, I believe the ()'s create groups that can be
referenced by "\\1" or "\\2" and such.
Some CMake code that parses 3-part version strings and does numerical
comparisons of them (to determine whether users have the minimum allowed
version, etc.) is contained in
http://plplot.svn.sourceforge.net/viewvc/plplot/trunk/cmake/modules/plplot.cmake?view=log
Look for the macro defined and used in that file called TRANSFORM_VERSION.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake