On 11/25/2013 10:11 AM, Stephen Kelly wrote:
> I've just pushed the export-includes topic to my clone. It adds some 
> testcases and new errors for cases involving INTERFACE_INCLUDE_DIRECTORIES 
> with generator expressions which are not at the start of the path. It turns 
> out we have some bugs there, some of which need policies to solve, I think.
> 
> Before implementing the policies, could I get a review of what I wrote and 
> tested to be 'good code' and 'bad code'? It's a bit complex.

I'll quote the part of the commit message describing behavior changes:

> The
> 
>  install(... INCLUDES DESTINATION)
> 
> calls exavluate the generator expressions at export-time, so it is
> fully determined whether they contain absolute or relative paths.
> In this case, relative paths are always treated relative to the
> $<INSTALL_PREFIX>.
> 
> Relative entries within $<INSTALL_INTERFACE:...>, when used in contexts
> other than 'INCLUDES DESTINATION', are treated relative to
> the $<INSTALL_PREFIX>, unless they start with a generator expression.
> 
> Relative paths set through set_property are treated as relative (with
> an error diagnosis), even if they contain a generator expression. However,
> using a generator expression at the start of the entry is not an error
> in this case.
> 
> Relative paths set through target_include_directories are treated as
> relative to the source directory, if they are not wrapped
> in $<INSTALL_INTERFACE>, if they contain a generator expression which
> is not at the start. This requires an error diagnosis.

That all sounds like a reasonable behavior.  Please ensure that the
docs and test cases cover all of it.  As you say we'll need policies
for the new error cases.

Thanks,
-Brad
--

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

Reply via email to