]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: fix import library name for non-MS compiler on Windows
authorVincent Torri <vincent.torri@gmail.com>
Thu, 19 Nov 2020 18:34:43 +0000 (19:34 +0100)
committerJay Satiro <raysatiro@yahoo.com>
Tue, 9 Feb 2021 07:43:04 +0000 (02:43 -0500)
- 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

lib/CMakeLists.txt

index 9736e39e5277125f4339b99c1b5af8c3647c70f9..f6c364239920900688c322eb29444673bd002851 100644 (file)
@@ -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()