Commit 2f3feda2 authored by Peter Wu's avatar Peter Wu
Browse files

cmake: fix curl-config --static-libs

The `curl-config --static-libs` command should not output paths like
-l/usr/lib/libssl.so, instead print the absolute path without `-l`.

This also removes the confusing message "Static linking is broken" which
was printed because curl-config --static-libs was disfunctional even
though the static libcurl.a library works properly.

Fixes https://github.com/curl/curl/issues/841
parent a8e751a5
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1141,9 +1141,7 @@ set(CURL_CA_BUNDLE "")
set(CURLVERSION             "${CURL_VERSION}")
set(ENABLE_SHARED           "yes")
if(CURL_STATICLIB)
  # Broken: LIBCURL_LIBS below; .a lib is not built
  message(WARNING "Static linking is broken!")
  set(ENABLE_STATIC         "no")
  set(ENABLE_STATIC         "yes")
else()
  set(ENABLE_STATIC         "no")
endif()
@@ -1152,9 +1150,12 @@ set(includedir "\${prefix}/include")
set(LDFLAGS                 "${CMAKE_SHARED_LINKER_FLAGS}")
set(LIBCURL_LIBS            "")
set(libdir                  "${CMAKE_INSTALL_PREFIX}/lib")
# TODO CURL_LIBS also contains absolute paths which don't work with static -l...
foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS})
  if(_lib MATCHES ".*/.*")
    set(LIBCURL_LIBS          "${LIBCURL_LIBS} ${_lib}")
  else()
    set(LIBCURL_LIBS          "${LIBCURL_LIBS} -l${_lib}")
  endif()
endforeach()
# "a" (Linux) or "lib" (Windows)
string(REPLACE "." "" libext "${CMAKE_STATIC_LIBRARY_SUFFIX}")