FindICU.cmake setting ICU_FOUND to "FALSE" with quotes?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

FindICU.cmake setting ICU_FOUND to "FALSE" with quotes?

Kent Williams-2
I was trying to do this:

> find_package(ICU 59.1 QUIET
> COMPONENTS
> data
> i18n
> io
> tu
> uc
> )
> if(ICU_FOUND)
>   include_directories(BEFORE ${ICU_INCLUDE_DIRS})
>   message("ICU_LIBRARIES=${ICU_LIBRARIES}")
> endif()

And at configuration time, ICU_FOUND was turning up with double quotes
around it, and as we all know from CMake 101, the string "FALSE" has a
truth value of TRUE in the if statement.

This is with cmake 3.16.

I fixed this by changing the expression to

IF(ICU_FOUND AND NOT "${ICU_FOUND}" STREQUAL "\"FALSE\"")

but that doesn't seem right somehow!


--

Powered by kitware.com/cmake

Kitware offers various services to support the CMake community. For more information on each offering, please visit https://cmake.org/services

Visit other Kitware open-source projects at https://www.kitware.com/platforms

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake

This mailing list is deprecated in favor of https://discourse.cmake.org