[CMake] numerical option at compile time

Eric Noulard eric.noulard at gmail.com
Thu Sep 6 10:36:41 EDT 2012


2012/9/6 Michael Wild <themiwi at gmail.com>:
> On 09/06/2012 04:15 PM, Jack Stalnaker wrote:
>> Using autoconf, I could specify a numerical option using AC_ARG_ENABLE.
>> This was useful for specifying a logging level at compile time. I could
>> pass --enable-logging=8 to the configure script to enable deep logging.
>> Is there a way to do this with cmake? Seems like "option" only allows
>> yes or no answers.
>>
>>
>
> --------->8-----------
> set(LOG_LEVEL 0 CACHE STRING "Logging level")
> if(NOT LOG_LEVEL MATCHES "^[0-9]$")
>   message(FATAL_ERROR "LOG_LEVEL must be a number from 0 to 9")
> endif()
> ---------<8-----------

And then you can specify the value on the command line:

cmake -DLOG_LEVEL=4 /path/to/source

Or it may even be easier with cmake-gui:
Note that there may be a better way to specify "enum like values", did
you see that post:
http://www.kitware.com/blog/home/post/82
or related bug:
http://public.kitware.com/Bug/view.php?id=13091

-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org


More information about the CMake mailing list