[CMake] find_package_version_check

Andreas Pakulat apaku at gmx.de
Thu Aug 13 05:02:09 EDT 2009


On 13.08.09 10:55:30, Eric Noulard wrote:
> 2009/8/13 Andreas Schneider <mail at cynapses.org>:
> > I had to add a version check to on of my find modules in KDE. So I started and
> > asked myself why do I have to right so much code to get a version check. This
> > should be done by CMake and not by me.
> >
> > So I've created a function find_package_version_check() you can use. All you
> > have to do is to set the version number.
> >
> > Example:
> > find_package(LibSSH 0.3.2 EXACT)
> >
> > # check for the version and set it
> > set(LibSSH_VERSION 0.4.0)
> > find_package_version_check(LibSSH DEFAULT_MSG)
> >
> > Error:
> >  The installed LibSSH version 0.4.0 is too new, version 0.3.2 is required.
> >
> > Comments and improvements are very welcome :)
>
> 2)  Why is the existing find_package(LibSSH <version> EXACT) not
> sufficient for you?

Because that means the package in question also needs to use cmake (or
rather install the needed .cmake files for cmake to do the version check).

However I think the find-module should use this new function, not the
application's CMakeLists.txt.

Andreas

-- 
You have the capacity to learn from mistakes.  You'll learn a lot today.


More information about the CMake mailing list