get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) if(NOT CURL_FIND_COMPONENTS) set(CURL_FIND_COMPONENTS curl libcurl) if(CURL_FIND_REQUIRED) set(CURL_FIND_REQUIRED_curl TRUE) set(CURL_FIND_REQUIRED_libcurl TRUE) endif() endif() set(_curl_missing_components) foreach(_comp ${CURL_FIND_COMPONENTS}) if(EXISTS "${_DIR}/${_comp}-target.cmake") include("${_DIR}/${_comp}-target.cmake") set(CURL_${_comp}_FOUND TRUE) else() set(CURL_${_comp}_FOUND FALSE) if(CURL_FIND_REQUIRED_${_comp}) set(CURL_FOUND FALSE) list(APPEND _curl_missing_components ${_comp}) endif() endif() endforeach() if(_curl_missing_components) set(CURL_NOT_FOUND_MESSAGE "Following required components not found: " ${_curl_missing_components}) else() if(TARGET CURL::libcurl) string(TOUPPER "${CMAKE_BUILD_TYPE}" _curl_current_config) if(NOT _curl_current_config) set(_curl_current_config "NOCONFIG") endif() get_target_property(_curl_configurations CURL::libcurl IMPORTED_CONFIGURATIONS) list(FIND _curl_configurations "${_curl_current_config}" _i) if(_i LESS 0) set(_curl_config "RELEASE") list(FIND _curl_configurations "${_curl_current_config}" _i) if(_i LESS 0) set(_curl_config "NOCONFIG") list(FIND _curl_configurations "${_curl_current_config}" _i) endif() endif() if(_i LESS 0) set(_curl_current_config "") # let CMake pick config at random else() set(_curl_current_config "_${_curl_current_config}") endif() get_target_property(CURL_INCLUDE_DIRS CURL::libcurl INTERFACE_INCLUDE_DIRECTORIES) get_target_property(CURL_LIBRARIES CURL::libcurl "LOCATION${_curl_current_config}") set(_curl_current_config) set(_curl_configurations) set(_i) endif() endif() unset(_curl_missing_components)