diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b7fc7c4c9f..660479cdef 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -156,6 +156,12 @@ jobs: echo '::group::raw'; cat bld/lib/curl_config.h || true; echo '::endgroup::' grep -F '#define' bld/lib/curl_config.h | sort || true + - name: 'libcurl.pc, curl-config' + run: | + for f in libcurl.pc curl-config; do + echo "::group::${f}"; grep -v '^#' bld/"${f}" || true; echo '::endgroup::' + done + - name: 'build' timeout-minutes: 10 run: | @@ -419,6 +425,12 @@ jobs: grep -F '#define' bld/lib/curl_config.h | sort || true cat bld/cmake_install.cmake || true + - name: 'libcurl.pc, curl-config, cmake_install.cmake' + run: | + for f in libcurl.pc curl-config cmake_install.cmake; do + echo "::group::${f}"; grep -v '^#' bld/"${f}" || true; echo '::endgroup::' + done + - name: 'build' timeout-minutes: 10 run: | @@ -703,6 +715,12 @@ jobs: echo '::group::raw'; cat bld/lib/curl_config.h || true; echo '::endgroup::' grep -F '#define' bld/lib/curl_config.h | sort || true + - name: 'libcurl.pc, curl-config' + run: | + for f in libcurl.pc curl-config; do + echo "::group::${f}"; grep -v '^#' bld/"${f}" || true; echo '::endgroup::' + done + - name: 'build' timeout-minutes: 5 run: | @@ -844,6 +862,12 @@ jobs: echo '::group::raw'; cat bld/lib/curl_config.h || true; echo '::endgroup::' grep -F '#define' bld/lib/curl_config.h | sort || true + - name: 'libcurl.pc, curl-config' + run: | + for f in libcurl.pc curl-config; do + echo "::group::${f}"; grep -v '^#' bld/"${f}" || true; echo '::endgroup::' + done + - name: 'build' run: | if [ "${MATRIX_BUILD}" = 'cmake' ]; then @@ -1108,6 +1132,12 @@ jobs: timeout-minutes: 5 run: cmake --build bld --config "${MATRIX_TYPE}" --parallel 5 + - name: 'libcurl.pc, curl-config' + run: | + for f in libcurl.pc curl-config; do + echo "::group::${f}"; grep -v '^#' bld/"${f}" || true; echo '::endgroup::' + done + - name: 'curl -V' timeout-minutes: 1 run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index f85f44fe83..5805391bc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2363,10 +2363,11 @@ if(NOT CURL_DISABLE_INSTALL) configure_file( "${PROJECT_SOURCE_DIR}/libcurl.pc.in" "${PROJECT_BINARY_DIR}/libcurl.pc" @ONLY) - # Strip trailing spaces, and duplicate spaces after colon + # Strip trailing spaces, duplicate spaces after colon, empty properties file(READ "${PROJECT_BINARY_DIR}/libcurl.pc" _libcurl_pc) string(REGEX REPLACE " +\n" "\n" _libcurl_pc "${_libcurl_pc}") string(REGEX REPLACE "\nLibs\.private: +" "\nLibs.private: " _libcurl_pc "${_libcurl_pc}") + string(REGEX REPLACE "\n([A-Za-z.]+:\n)+" "\n" _libcurl_pc "${_libcurl_pc}") file(WRITE "${PROJECT_BINARY_DIR}/libcurl.pc" "${_libcurl_pc}") install(FILES "${PROJECT_BINARY_DIR}/libcurl.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") diff --git a/configure.ac b/configure.ac index c06f0c52a5..b0394ddecb 100644 --- a/configure.ac +++ b/configure.ac @@ -5560,8 +5560,8 @@ AC_CONFIG_FILES([\ ]) AC_CONFIG_FILES([curl-config], [chmod +x curl-config]) AC_CONFIG_FILES([libcurl.pc], [ - dnl strip trailing spaces, and duplicate spaces after colon - "$SED" -e 's/ *$//g' -e 's/^Libs\.private: */Libs.private: /g' libcurl.pc > libcurl.pc.tmp && mv libcurl.pc.tmp libcurl.pc + dnl strip trailing spaces, duplicate spaces after colon, empty properties + "$SED" -e 's/ *$//g' -e 's/^Libs\.private: */Libs.private: /' -e '/^@<:@A-Za-z.@:>@*:$/d' libcurl.pc > libcurl.pc.tmp && mv libcurl.pc.tmp libcurl.pc ], [SED="$SED"]) AC_OUTPUT