On Thu, Feb 17, 2011 at 4:37 PM, Emmanuel Blot <eblot...@gmail.com> wrote:
>> The only warning that is enabled by default is to warn you about
>> misspelled -D options that you pass on the command line. (We think
>> they *may* be misspelled because they are not referenced in the
>> configure/generate steps... So it's just a warning.)
>
>> You can suppress this by also passing "--no-warn-unused-cli" on the
>> CMake command line. Or by avoiding passing in the unused variables in
>> the first place. Or by sticking with CMake 2.8.3 that does not produce
>> this warning.
>>
>> Those are your 3 options for avoiding this warning.
>
> The question is HOW do you "stick with cmake 2.8.3" - or stick with cmake 
> 2.8.4.
>
> This is the actual issue: there's no way to "stick with" a minor
> release of cmake when you distribute code, because you cannot enforce
> a minor release of cmake (a regular linux distribution will upgrade
> the minor version at some point, and this cannot be controlled). So at
> some point somewhere, building with cmake will throw new warnings, and
> there's no way to control this. As the  "--no-warn-unused-cli" option
> would simply break the build with a previous minor release of CMake,
> this means that the script calling CMake needs to detect the version
> of cmake, and tweak the cmake command line accordingly. Dirty, at
> best.
>
> From my perspective - that I understand is not shared - it would have
> been great not introducing this kind of compatibility break between
> CMake minor release by default. It could have been enabled with a new
> POLICY or with an explicit option switch.
>
> Maybe I'm looking in the wrong direction: is there a way to specify
> these variable definitions without the -D option switch? - such as
> environment variables for example?
>
> Thanks.
>

If a variable is not used, then simply do not define it on the cmake
command line.

If I do this:
$ cmake -DNO_SUCH_VARIABLE=OFF .

I get this:
-- Configuring done
-- Generating done
CMake Warning: The variable, 'NO_SUCH_VARIABLE', specified manually,
was not used during the generation.
-- Build files have been written to: ...

If I do this:
$ cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: ...

Voila. No warning.

The other option is simply to ignore all of our "was not used" output.
They are only warnings. They do not actually affect the generated
build tree.

I guess I don't understand your "big picture" here. It seems to me
that it should be easy to resolve this one way or another, even if
it's not pretty and elegant.


David
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

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

Reply via email to