[cmake-developers] CMakeParseArguments: Do not skip empty arguments
Brad King
brad.king at kitware.com
Tue Dec 3 11:59:14 EST 2013
On 11/27/2013 10:40 AM, Brad King wrote:
> Go ahead and merge it to 'next' for testing. I will review it
> there
Looking at the topic as of commit 10fd6fba, here are some comments.
Why does CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY need to be an
inherited directory property instead of a variable? Both have
essentially the same scope and variables are much more common.
I'd like to avoid new uses of define_property if possible. It
is a legacy from the old builtin documentation system.
I see this in the tests:
+# run_cmake(VERSION-KEEP) # Enable when 3.0.0 is released
We need to be able to test this even prior to the 3.0 release.
No one is going to remember to enable that as part of the release
process, and what if it is broken by then? You might be able to
hack the test with
set(CMAKE_MINIMUM_REQUIRED_VERSION 3.0.0)
after the real cmake_minimum_required call.
Stepping back for a moment: This macro is now a huge amount of
CMake code to do keyword argument processing for each invocation
of the calling macro or function. Accumulation of such uses adds
overhead to CMake language processing. It was previously proposed
in this thread to convert the implementation of the command to be
in C++. IMO this is still worth investigating, if only as a follow
up to this topic.
Thanks,
-Brad
More information about the cmake-developers
mailing list