# Try to find library using system pkg-config if user did not specify root dir
if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}")
- if(UNIX)
+ if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(_GSS ${_mit_modname} ${_heimdal_modname})
list(APPEND _gss_root_hints "${_GSS_PREFIX}")
- elseif(WIN32)
+ endif()
+ if(WIN32)
list(APPEND _gss_root_hints "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos;InstallDir]")
endif()
endif()
# MSH3_INCLUDE_DIRS The msh3 include directories
# MSH3_LIBRARIES The libraries needed to use msh3
-if(UNIX)
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(PC_MSH3 "libmsh3")
endif()
# NGHTTP2_LIBRARIES The libraries needed to use nghttp2
# NGHTTP2_VERSION Version of nghttp2
-if(UNIX)
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(PC_NGHTTP2 "libnghttp2")
endif()
# NGHTTP3_LIBRARIES The libraries needed to use nghttp3
# NGHTTP3_VERSION Version of nghttp3
-if(UNIX)
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(PC_NGHTTP3 "libnghttp3")
endif()
# NGTCP2_LIBRARIES The libraries needed to use ngtcp2
# NGTCP2_VERSION Version of ngtcp2
-if(UNIX)
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(PC_NGTCP2 "libngtcp2")
endif()
if(NGTCP2_CRYPTO_BACKEND)
string(TOLOWER "ngtcp2_crypto_${NGTCP2_CRYPTO_BACKEND}" _crypto_library)
- if(UNIX)
+ if(NOT MSVC OR VCPKG_TOOLCHAIN)
pkg_search_module(PC_${_crypto_library} "lib${_crypto_library}")
endif()
find_library(${_crypto_library}_LIBRARY
# NETTLE_LIBRARIES The nettle library names
# NETTLE_VERSION Version of nettle
-if(UNIX)
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(NETTLE "nettle")
endif()
# QUICHE_INCLUDE_DIRS The quiche include directories
# QUICHE_LIBRARIES The libraries needed to use quiche
-if(UNIX)
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(PC_QUICHE "quiche")
endif()
# WolfSSL_LIBRARIES The wolfssl library names
# WolfSSL_VERSION Version of wolfssl
-find_package(PkgConfig QUIET)
-pkg_search_module(PC_WOLFSSL QUIET "wolfssl")
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
+ find_package(PkgConfig QUIET)
+ pkg_search_module(PC_WOLFSSL QUIET "wolfssl")
+endif()
find_path(WolfSSL_INCLUDE_DIR
NAMES "wolfssl/ssl.h"
# Zstd_LIBRARIES The libraries needed to use zstd
# Zstd_VERSION Version of zstd
-if(UNIX)
+if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(PC_Zstd "libzstd")
endif()
check_include_file_concat("idn2.h" HAVE_IDN2_H)
endif()
if(NOT HAVE_LIBIDN2 OR NOT HAVE_IDN2_H)
- if(UNIX)
+ if(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(LIBIDN2 "libidn2")
endif()
find_package(libssh CONFIG QUIET)
if(libssh_FOUND)
message(STATUS "Found libssh ${libssh_VERSION}")
- else()
+ elseif(NOT MSVC OR VCPKG_TOOLCHAIN)
find_package(PkgConfig QUIET)
pkg_search_module(LIBSSH "libssh")
if(LIBSSH_FOUND)
option(CURL_USE_GSASL "Use GSASL implementation" OFF)
mark_as_advanced(CURL_USE_GSASL)
if(CURL_USE_GSASL)
- find_package(PkgConfig REQUIRED)
- pkg_search_module(GSASL REQUIRED "libgsasl")
- list(APPEND CURL_LIBS ${GSASL_LINK_LIBRARIES})
- set(USE_GSASL ON)
+ if(NOT MSVC OR VCPKG_TOOLCHAIN)
+ find_package(PkgConfig REQUIRED)
+ pkg_search_module(GSASL REQUIRED "libgsasl")
+ else()
+ message(WARNING "GSASL has been requested but requires a platform with pkg-config support. Skipping.")
+ endif()
+ if(GSASL_FOUND)
+ list(APPEND CURL_LIBS ${GSASL_LINK_LIBRARIES})
+ set(USE_GSASL ON)
+ endif()
endif()
option(CURL_USE_GSSAPI "Use GSSAPI implementation (right now only Heimdal is supported with CMake build)" OFF)
if(NOT ENABLE_DEBUG)
message(FATAL_ERROR "Using libuv without debug support enabled is useless")
endif()
- find_package(PkgConfig QUIET)
- pkg_check_modules(LIBUV "libuv")
+ if(NOT MSVC OR VCPKG_TOOLCHAIN)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(LIBUV "libuv")
+ endif()
if(LIBUV_FOUND)
list(APPEND CURL_LIBS ${LIBUV_LINK_LIBRARIES})
list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libuv")