diff --git a/CMakeLists.txt b/CMakeLists.txt index e9b90860c..616b9dcbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1391,13 +1391,6 @@ set(CONFIGURE_OPTIONS "") # TODO when to set "-DCURL_STATICLIB" for CPPFLAG_CURL_STATICLIB? set(CPPFLAG_CURL_STATICLIB "") set(CURLVERSION "${CURL_VERSION}") -if(BUILD_SHARED_LIBS) - set(ENABLE_SHARED "yes") - set(ENABLE_STATIC "no") -else() - set(ENABLE_SHARED "no") - set(ENABLE_STATIC "yes") -endif() set(exec_prefix "\${prefix}") set(includedir "\${prefix}/include") set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}") @@ -1410,6 +1403,15 @@ foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS}) set(LIBCURL_LIBS "${LIBCURL_LIBS} -l${_lib}") endif() endforeach() +if(BUILD_SHARED_LIBS) + set(ENABLE_SHARED "yes") + set(ENABLE_STATIC "no") + set(LIBCURL_NO_SHARED "") +else() + set(ENABLE_SHARED "no") + set(ENABLE_STATIC "yes") + set(LIBCURL_NO_SHARED "${LIBCURL_LIBS}") +endif() # "a" (Linux) or "lib" (Windows) string(REPLACE "." "" libext "${CMAKE_STATIC_LIBRARY_SUFFIX}") set(prefix "${CMAKE_INSTALL_PREFIX}") diff --git a/configure.ac b/configure.ac index aa79cfa42..6de818a3e 100755 --- a/configure.ac +++ b/configure.ac @@ -4727,6 +4727,13 @@ dnl to let curl-config output the static libraries correctly ENABLE_STATIC="$enable_static" AC_SUBST(ENABLE_STATIC) +dnl merge the pkg-config Libs.private field into Libs when static-only +if test "x$enable_shared" = "xno"; then + LIBCURL_NO_SHARED=$LIBCURL_LIBS +else + LIBCURL_NO_SHARED= +fi +AC_SUBST(LIBCURL_NO_SHARED) dnl dnl For keeping supported features and protocols also in pkg-config file diff --git a/curl-config.in b/curl-config.in index 0a7e0353f..86cf8b21c 100644 --- a/curl-config.in +++ b/curl-config.in @@ -160,7 +160,7 @@ while test $# -gt 0; do else CURLLIBDIR="" fi - if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then + if test "X@ENABLE_SHARED@" = "Xno" -o "X@REQUIRE_LIB_DEPS@" = "Xyes"; then echo ${CURLLIBDIR}-lcurl @LIBCURL_LIBS@ else echo ${CURLLIBDIR}-lcurl diff --git a/libcurl.pc.in b/libcurl.pc.in index abc12bb8c..fd1ce2204 100644 --- a/libcurl.pc.in +++ b/libcurl.pc.in @@ -34,6 +34,6 @@ Name: libcurl URL: https://curl.haxx.se/ Description: Library to transfer files with ftp, http, etc. Version: @CURLVERSION@ -Libs: -L${libdir} -lcurl +Libs: -L${libdir} -lcurl @LIBCURL_NO_SHARED@ Libs.private: @LIBCURL_LIBS@ Cflags: -I${includedir} @CPPFLAG_CURL_STATICLIB@