[CMake] Check if a variable contains valid number

Rolf Eike Beer eike at sf-mail.de
Tue Mar 29 04:14:43 EDT 2016


Am 2016-03-29 09:03, schrieb Lloyd:
> Hi,
> 
> How can I check if the user supplied value is a valid positive integer 
> or
> not?
> 
> I have tried the following, but it is not entering the if condition, 
> what
> might be wrong? Is there a better solution?
> 
> SET(MY_NUMBER "100" CACHE STRING " Please enter the number")
> string(REGEX MATCH "^[1-9][0-9]*$" MY_NUMBER  ${MY_NUMBER})
> if(MY_NUMBER)
> 
>    #This area is not getting executed, whats wrong here
> 
> endif()

Have you tried this:

   if (MY_NUMBER MATCHES "^[0-9]+$")

Greetings,

Eike
-- 



More information about the CMake mailing list