diff --git a/src/Package/Target/curl.php b/src/Package/Target/curl.php index 43a2904b..3117a8cd 100644 --- a/src/Package/Target/curl.php +++ b/src/Package/Target/curl.php @@ -39,7 +39,7 @@ class curl ->optionalPackage('zstd', ...cmake_boolean_args('CURL_ZSTD')) ->optionalPackage('brotli', ...cmake_boolean_args('CURL_BROTLI')) ->addConfigureArgs( - '-DBUILD_CURL_EXE=OFF', + '-DBUILD_CURL_EXE=ON', '-DZSTD_LIBRARY=zstd_static.lib', '-DBUILD_TESTING=OFF', '-DBUILD_EXAMPLES=OFF', @@ -81,6 +81,7 @@ class curl ->addConfigureArgs( '-DBUILD_CURL_EXE=ON', '-DBUILD_LIBCURL_DOCS=OFF', + '-DOPENSSL_ROOT_DIR=' . BUILD_ROOT_PATH, ) ->build(); @@ -92,6 +93,9 @@ class curl if (str_contains(FileSystem::readFile($pc_path), '-lgssapi_krb5')) { FileSystem::replaceFileRegex($pc_path, '/-lcom_err$/m', '-lcom_err -lkrb5support'); } + // FindThreads can put '-lpthread' into INTERFACE_LINK_LIBRARIES; curl's pc generator + // prepends '-l' to each entry, producing '-l-lpthread'. Strip the extra '-l'. + FileSystem::replaceFileRegex($pc_path, '/-l(-l\S+)/', '$1'); shell()->cd("{$lib->getLibDir()}/cmake/CURL/") ->exec("sed -ie 's|\"/lib/libcurl.a\"|\"{$lib->getLibDir()}/libcurl.a\"|g' CURLTargets-release.cmake");