[cmake-developers] Roadmap to CMake 3.0

Brad King brad.king at kitware.com
Mon Oct 14 11:05:54 EDT 2013


On 10/13/2013 6:03 AM, Alexander Neundorf wrote:
>> * New quoting syntax: Lua-style long-brackets.  Quoting opens with
>>   "[" followed by zero or more "=" followed by "[" and closes with
>>   "]" followed by the same number of "=" followed by "]".
> What's the purpose of the "=" between the square brackets ?

One can choose a unique number of "=" to match an opening and closing
bracket so that the closing bracket is known not to appear in the
enclosed content.  This avoids the need for any escaping even when
closing brackets other lengths appear in the content.

>> * Drop implementation of compatibility modes with CMake versions
>>   prior to 2.4.0 which is now over 7 years old.
> 
> Yes, sounds old enough.

Yes, and 2.4.0 will still be supported.  It is only even older
versions for which support will be dropped.

> I'd like to remove the --find-package mode, which was my attempt to make cmake 
> packages easier to use by non-cmake projects.
> The idea was that you can use cmake --find-package JPEG similar to pkg-config, 
> i.e. call it from handwritten makefiles or autoconf, and it prints the include 
> dirs, link dirs and libs to link to stdout so they are handed as options to 
> the compiler.
> To do that, it is/was relying on a set of standard variables (Foo_LIBRARIES, 
> Foo_INCLUDE_DIRS and some slight variations) being set by Find-modules/Config 
> files.
> Since it was recently decided that it is fine to recommend using imported 
> target names directly and not to set the standard variables anymore, I don't 
> see how I could improve this in the future.
> So instead I'd like to remove it instead of keeping a somewhat broken, 
> sometimes working feature around. which is not used widely.

Can't the --find-package mode evaluate the locations of targets named
in the _LIBRARIES variables?  In general it will have to evaluate full
generator expressions too.  I thought the idea of --find-package was
to do all the transformations that CMake would do before putting the
targets on the command line and then hand the result back.

-Brad



More information about the cmake-developers mailing list