mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 10:50:16 -06:00
MSVC: Teach find_library to consider the 'libfoo.a' naming convention
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
Fixes: #23975
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
This commit is contained in:
7
Help/release/dev/detect-lib_foo.a-msvc.rst
Normal file
7
Help/release/dev/detect-lib_foo.a-msvc.rst
Normal file
@@ -0,0 +1,7 @@
|
||||
detect-lib_foo.a-msvc
|
||||
---------------------
|
||||
|
||||
* On Windows, when targeting the MSVC ABI, the :command:`find_library` command
|
||||
now accepts ``.a`` file names after first considering ``.lib``. This is
|
||||
symmetric with existing behavior when targeting the GNU ABI, in which the
|
||||
command accepts ``.lib`` file names after first considering ``.a``.
|
||||
@@ -19,8 +19,8 @@ set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
|
||||
set(CMAKE_DL_LIBS "")
|
||||
set(CMAKE_EXTRA_LINK_EXTENSIONS ".targets")
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES "")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES "" "lib")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
|
||||
|
||||
# for borland make long command lines are redirected to a file
|
||||
# with the following syntax, see Windows-bcc32.cmake for use
|
||||
|
||||
Reference in New Issue
Block a user