From f21cc62832a9d5c521d10da9177b075bfed43f2f Mon Sep 17 00:00:00 2001 From: Cristian Morales Vega Date: Thu, 19 Nov 2020 07:54:09 +0000 Subject: cmake: make CURL_ZLIB a tri-state variable By differentiating between ON and AUTO it can make a missing zlib library a hard error when CURL_ZLIB=ON is used. Reviewed-by: Jakub Zakrzewski Closes #6221 Fixes #6173 --- CMake/Macros.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'CMake') diff --git a/CMake/Macros.cmake b/CMake/Macros.cmake index 6c29856c4..d57dd6ad5 100644 --- a/CMake/Macros.cmake +++ b/CMake/Macros.cmake @@ -107,3 +107,14 @@ macro(curl_nroff_check) message(WARNING "Found no *nroff program") endif() endmacro() + +macro(optional_dependency DEPENDENCY) + set(CURL_${DEPENDENCY} AUTO CACHE STRING "Build curl with ${DEPENDENCY} support (AUTO, ON or OFF)") + set_property(CACHE CURL_${DEPENDENCY} PROPERTY STRINGS AUTO ON OFF) + + if(CURL_${DEPENDENCY} STREQUAL AUTO) + find_package(${DEPENDENCY}) + elseif(CURL_${DEPENDENCY}) + find_package(${DEPENDENCY} REQUIRED) + endif() +endmacro() -- cgit v1.2.1