https://github.com/Kitware/CMake
Tip revision: fca4423786ba2c4a5ab0ec6c1a1cbac8cd8600b4 authored by Brad King on 10 August 2017, 13:36:24 UTC
CMake 3.9.1
CMake 3.9.1
Tip revision: fca4423
CMAKE_FIND_PACKAGE_SORT_ORDER.rst
CMAKE_FIND_PACKAGE_SORT_ORDER
-----------------------------
The default order for sorting packages found using :command:`find_package`.
It can assume one of the following values:
``NONE``
Default. No attempt is done to sort packages.
The first valid package found will be selected.
``NAME``
Sort packages lexicographically before selecting one.
``NATURAL``
Sort packages using natural order (see ``strverscmp(3)`` manual),
i.e. such that contiguous digits are compared as whole numbers.
Natural sorting can be employed to return the highest version when multiple
versions of the same library are found by :command:`find_package`. For
example suppose that the following libraries have been found:
* libX-1.1.0
* libX-1.2.9
* libX-1.2.10
By setting ``NATURAL`` order we can select the one with the highest
version number ``libX-1.2.10``.
.. code-block:: cmake
set(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)
find_package(libX CONFIG)
The sort direction can be controlled using the
:variable:`CMAKE_FIND_PACKAGE_SORT_DIRECTION` variable
(by default decrescent, e.g. lib-B will be tested before lib-A).