Skip to content
  • Brad King's avatar
    MSVC: Teach find_library to consider the 'libfoo.a' naming convention · c6efbd78
    Brad King authored
    When targeting the GNU ABI, we consider `.a` libraries first but also
    accept `.lib`.  For symmetry, when targeting the MSVC ABI, we now
    consider `.lib` first but also accept `.a`.
    
    This adds support for meson-generated static libraries, which are named
    with the pattern `lib${foo}.a`:
    
    * https://mesonbuild.com/FAQ.html#why-does-building-my-project-with-msvc-output-static-libraries-called-libfooa
    
    Note that this was previously attempted by
    
    * commit be848a71 (MSVC: Teach find_library to consider the 'libfoo.a'
                         naming convention, 2022-09-19, v3.25.0-rc1~111^2)
    
    but was reverted by
    
    * commit 955d6245 (MSVC: Revert "Teach find_library to consider the
                         'libfoo.a' naming convention", 2022-11-28, v3.25.1~6^2)
    
    due to problems finding GNU ABI libraries in PATH-derived prefixes.
    Since then,
    
    * commit 0a81110b (find_(library|file|path): Drop PATH-derived search
                         prefixes, 2023-09-14, v3.28.0-rc1~91^2)
    
    removed the problematic search paths, so we can restore this change.
    
    Fixes: #23975
    c6efbd78