From: Vincent Torri Date: Thu, 19 Nov 2020 18:34:43 +0000 (+0100) Subject: cmake: fix import library name for non-MS compiler on Windows X-Git-Tag: curl-7_76_0~194 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d4a3b87c13da5db437dc66d646132bdeb902e196;p=thirdparty%2Fcurl.git cmake: fix import library name for non-MS compiler on Windows - Use _imp.lib suffix only for Microsoft's compiler (MSVC). Prior to this change library suffix _imp.lib was used for the import library on Windows regardless of compiler. With this change the other compilers should now use their default suffix which should be .dll.a. This change is motivated by the usage of pkg-config on MSYS2. Indeed, when 'pkg-config --libs libcurl' is used, -lcurl is passed to ld. The documentation of ld on Windows : https://sourceware.org/binutils/docs/ld/WIN32.html lists, in the 'direct linking to a dll' section, the pattern of the searched import library, and libcurl_imp.lib is not there. Closes https://github.com/curl/curl/pull/6225 --- diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 9736e39e52..f6c3642399 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -117,8 +117,11 @@ endif() if(WIN32) if(BUILD_SHARED_LIBS) - # Add "_imp" as a suffix before the extension to avoid conflicting with the statically linked "libcurl.lib" - set_target_properties(${LIB_NAME} PROPERTIES IMPORT_SUFFIX "_imp.lib") + if(MSVC) + # Add "_imp" as a suffix before the extension to avoid conflicting with + # the statically linked "libcurl.lib" + set_target_properties(${LIB_NAME} PROPERTIES IMPORT_SUFFIX "_imp.lib") + endif() endif() endif()