Skip to content
  • Brad King's avatar
    find_(library|file|path): Drop PATH-derived search prefixes · 0a81110b
    Brad King authored
    Since commit ffc06c12 (Teach find_(library|file|path) to get prefixes
    from PATH, 2015-02-18, v3.3.0-rc1~430^2) we search in `<prefix>/include`
    and `<prefix>/lib` directories for prefixes with `bin` directories in
    the `PATH` environment variable.  The motivation was to search the
    installation prefixes of MSYS and MinGW development environments
    automatically.
    
    This behavior can search undesired prefixes that happen to be in the
    `PATH` for unrelated reasons.  It was reverted for non-Windows hosts
    within a year by commit b30b32a4 (Drop find_(library|file|path)
    prefixes from PATH on non-Windows, 2016-05-09, v3.6.0-rc1~82^2) but was
    kept on Windows hosts to support its motivating use case.  However,
    similar problems have since been observed on Windows.  For example,
    commit 955d6245 (MSVC: Revert "Teach find_library to consider the
    'libfoo.a' naming convention", 2022-11-28, v3.25.1~6^2) was primarily
    due to undesired discovery of libraries in `PATH`-derived prefixes.
    
    Since commit 5e5132e1 (MinGW: Search for packages in standard MSYSTEM
    environment prefixes, 2023-09-11) we search MSYS and MinGW environments'
    prefixes explicitly, so `PATH`-derived prefixes are no longer needed for
    the original motivating use case.
    
    Fixes: #24216
    0a81110b