mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-13 01:29:02 -05:00
61d8fae116
Historically, find_package() does not guarantee the order in which directories matching a search path containing a glob expression are processed in - the "first valid package" will be selected if there are multiple candidates. In such cases, which package is chosen is completely random and can change, potentially leading to build failures and reproducibility issues. This is rather unexpected and confusing for developers. Now that CMake has bumped its major version, it's a good time to change default sort order and direction could be changed to natural sorting with a descending order. That will result in the newest version of a library being picked in case there are multiple ones available.
CMake Tests Directory ********************* This directory contains the CMake test suite. See also the `CMake Testing Guide`_ and the `CMake Source Code Guide`_. .. _`CMake Testing Guide`: ../Help/dev/testing.rst .. _`CMake Source Code Guide`: ../Help/dev/source.rst Many tests exist as immediate subdirectories, but some tests are organized as follows. * ``CMakeLib/``: Source code, used for tests, that links to the ``CMakeLib`` library defined over in ``Source/``. * ``CMakeOnly/``: Deprecated. Tests that run CMake to generate a project but not build it. Superseded by ``Tests/RunCMake/``. * ``Find*/``: Tests for specific find modules that can only be run on machines with the corresponding packages installed. They are enabled in ``CMakeLists.txt`` by undocumented options used on CI builds. * ``Module/``: Tests for specific CMake modules. * ``RunCMake/``: Tests that run CMake and/or other tools while precisely checking their return code and stdout/stderr content. Useful for testing error cases and diagnostic output. See `RunCMake/README.rst`_. .. _`RunCMake/README.rst`: RunCMake/README.rst