On 05/11/13 20:51, Alexander Neundorf wrote: >> I don't know if this is to be considered a change of behaviour though, >> but I'd rather consider it a bug, and I would like to see it fixed in >> the next bugfix release... what do you think? > > cmake_parse_arguments() is used in quite a few places in the meantime, so I > don't really feel good about changing its behaviour in general. > Maybe an option for the macro what it should do with empty values ?
Is there any of the other place where cmake_parse_arguments() has to deal with with empty arguments? I believe that someone would have complained about that. From what I've seen, modules that are supposed to deal with empty arguments (like ExternalProject that can have arguments like INSTALL_COMMAND "") do not use CMakeParseArguments... I don't think that anyone would use something like SINGLE "" VALUE to assign VALUE to the SINGLE option... Also something like SINGLE "${EMPTY_VARIABLE}" NEXT_ARG would assign to FOO_SINGLE the value NEXT_ARG and that is very likely to be an unintended behaviour. Perhaps someone could use something like MULTI "${V1}" "${EMPTY_VARIABLE}" "${V2}" and expect to get a list containing only V1 and V2. Nonetheless if he is using foreach(arg ${list}), the behaviour won't change because empty list elements are skipped. if instead he is using "foreach(arg IN LIST list)", he is probably expecting to receive empty arguments, since the documentation clearly states so. Adding an option in the macro arguments would be a bit of a non-compatible change, since the name of the option could no longer be used as one of the "OPTION/SINGLE/MULTI" value names. Also using a global property is not an option, because that would change the behaviour globally, and if some module is expecting the current behaviour it will still fail. Cheers, Daniele -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers