[cmake-developers] Adding macro cmake_print_variables(var1 var2 ... varN) ?

Eric Noulard eric.noulard at gmail.com
Tue Dec 13 15:42:45 EST 2011


2011/12/11 Eric Noulard <eric.noulard at gmail.com>:
> List was dropped intentionally

Just realized I wrote the opposite of what I meant ...

> ---------- Forwarded message ----------
> From: Eric Noulard <eric.noulard at gmail.com>
> Date: 2011/12/11
> Subject: Re: [cmake-developers] Adding macro
> cmake_print_variables(var1 var2 ... varN) ?
> To: neundorf at kde.org
>
>
> 2011/12/11 Alexander Neundorf <neundorf at kde.org>:
>> Hi,
>>
>> I have a small macro/function which I need often during buildsystem debugging:
>>
>> function(PRINT_VARIABLES)
>>   set(msg "")
>>   foreach(var ${ARGN})
>>      if(msg)
>>         set(msg "${msg} ; ")
>>      endif()
>>      set(msg "${msg}${var}=\"${${var}}\"")
>>   endforeach()
>>   message(STATUS "${msg}")
>> endfunction()
>>
>>
>> it prints the values of the variables given as arguments.
>> Example:
>>
>> print_variables(CMAKE_C_COMPILER
>>                CMAKE_MAJOR_VERSION
>>                THIS_ONE_DOES_NOT_EXIST)
>>
>> Gives:
>> -- CMAKE_C_COMPILER="/usr/bin/gcc" ; CMAKE_MAJOR_VERSION="2" ;
>> THIS_ONE_DOES_NOT_EXIST=""
>
> pretty handy.
>
>> Ok to add to git ?
>
> May be in a specific separate file like
>
> CMakeScriptsDebuggingTools.cmake
>
> (or some less lengthy name)
> one may include ?
>
>> Or should this better be
>> message(VARIABLES CMAKE_C_COMPILER
>>                  CMAKE_MAJOR_VERSION
>>                  THIS_ONE_DOES_NOT_EXIST)
>
> Nope I wouldn't vote for that one.
> How would you print
>
> message(VARIABLES "BLAH " CMAKE_C_COMPILER)
> and
> message(VARIABLES "BLAH  CMAKE_C_COMPILER")
>
> what you be nice as a built-in is something like
>
> trace_var(CMAKE_C_COMPILER)
>
> which would make the concerned VAR to be traced each time
> it is touched (read or written) by a script.
> That said we are far away from your initial need.
>
> and... I'm not volunteering to develop that :-(
>
>> Then I'll put it in extra-cmake-modules, but it seems to generic that I think
>> it makes sense to have it in cmake directly.
> --
> Erk
> Membre de l'April - « promouvoir et défendre le logiciel libre » -
> http://www.april.org
>
>
> --
> Erk
> Membre de l'April - « promouvoir et défendre le logiciel libre » -
> http://www.april.org



-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org



More information about the cmake-developers mailing list