cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: [PATCH] CMake: Simplify if() conditions on check result variables

From: Peter Wu <peter_at_lekensteyn.nl>
Date: Mon, 17 Nov 2014 19:14:50 +0100

On Friday 14 November 2014 16:33:14 Brad King wrote:
> Remove use of an old hack that takes advantage of the auto-dereference
> behavior of the if() command to detect if a variable is defined. The
> hack has the form:
>
> if("${VAR} MATCHES "^${VAR}$")
>
> where "${VAR}" is a macro argument reference. Use if(DEFINED) instead.
> This also avoids warnings for CMake Policy CMP0054 in CMake 3.1.

+1 from me. Nice that you are also cleaning up the redundant ... in
endif(...) while you are at it.
 
Peter

> ---
> CMake/Macros.cmake | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/CMake/Macros.cmake b/CMake/Macros.cmake
> index df15b74..dab005f 100644
> --- a/CMake/Macros.cmake
> +++ b/CMake/Macros.cmake
> @@ -27,7 +27,7 @@ endmacro(CHECK_INCLUDE_FILE_CONCAT)
>
> # For other curl specific tests, use this macro.
> macro(CURL_INTERNAL_TEST CURL_TEST)
> - if("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
> + if(NOT DEFINED "${CURL_TEST}")
> set(MACRO_CHECK_FUNCTION_DEFINITIONS
> "-D${CURL_TEST} ${CURL_TEST_DEFINES} ${CMAKE_REQUIRED_FLAGS}")
> if(CMAKE_REQUIRED_LIBRARIES)
> @@ -55,11 +55,11 @@ macro(CURL_INTERNAL_TEST CURL_TEST)
> "Performing Curl Test ${CURL_TEST} failed with the following output:\n"
> "${OUTPUT}\n")
> endif(${CURL_TEST})
> - endif("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
> + endif()
> endmacro(CURL_INTERNAL_TEST)
>
> macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
> - if("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
> + if(NOT DEFINED "${CURL_TEST}_COMPILE")
> set(MACRO_CHECK_FUNCTION_DEFINITIONS
> "-D${CURL_TEST} ${CMAKE_REQUIRED_FLAGS}")
> if(CMAKE_REQUIRED_LIBRARIES)
> @@ -91,5 +91,5 @@ macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
> file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
> "\n\n")
> endif(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
> - endif("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
> + endif()
> endmacro(CURL_INTERNAL_TEST_RUN)

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2014-11-17